1. 程式人生 > 其它 >Webmin 命令執行漏洞 (CVE-2020-35606)--- 復現

Webmin 命令執行漏洞 (CVE-2020-35606)--- 復現

漏洞繞過針對 採取的措施 CVE-2019-12840 並將其轉換為新向量。
供應商尚未修復此漏洞。
利用資料庫連結 [https://www.exploit-db.com/exploits/49318]
CVE-Mitre 連結 [https://nvd.nist.gov/vuln/detail/CVE-2020-35606]
下載 webmin_pu_escape_bypass_rce.rb [https://pentest.com.tr/blog/webmin_pu_escape_bypass_rce.rb]

該模組利用 Webmin 1.962 及更低版本中的任意命令執行漏洞。 任何授權“包更新”模組的使用者都可以使用 root 許可權執行任意命令。 它是通過規避針對 CVE-2019-12840 採取的措施而出現的。
s/\(-)|\(.)/string/g; 逃避不足以預防。 因此,由於包名變數直接放置在系統命令中,我們可以使用一些 HTTP 支援的轉義字元對其進行操作。 例如,我們可以通過將命令列下一行來逃避控制。 我們
可以使用 "%0A" 和 "%0C" urlencoded 行值來做到這一點。此外,為了使 paylad 正常工作,我們必須在有效負載的末尾新增雙符號 (&&) (%26%26)

原始碼分析和漏洞發現。

讓我們從檢查傳送 HTTP 請求的“update.cgi”開始。

“u”引數通過將其分配給“update.cgi”中的@pkgs 變數來完成一些操作。

在第 125 行,提取斜線並繼續該過程。 通過一點測試,我們可以看到不需要使用“/”。