S2-045遠程代碼執行漏洞的CNVD詳細信息:://www.cnvd.org.cn/flaw/show/CNVD-2017-02474漏洞剛出現時候,Google隨便搜索相關URL(filetype:action || ext :action),利用后發現有很多甚至使用ROOT用戶啟動Tomcat,嘖嘖嘖...
目前,很多公司已經緊鑼旗鼓地修復了漏洞,儘管如此,互聯網上還是有大批未修復的目標...可能感覺無所謂吧
批量S2-045用python 2.7實現,代碼共分三部分,比較糙,多指正。
一,Google抓取URL第一部分:從Google批量抓取目標URL;
第二部分:驗證篩選存在漏洞的URL;
第三部分:遠程命令執行
目標URL抓取,可能會被Google限制抓取次數,若有IP資源,可以不斷更換代理,多線程抓取。
-keywords文件 - >抓取關鍵詞,例如:filetype:action,ext:action
-urser-agent文件 - >隨機ua抓取
-urlresult文件 - >存儲抓取的url
【點擊閱讀原文查看源碼】
二,POC漏洞驗證驗證是否有s2-045漏洞
-urlresult文件 - >已存儲的抓取的url
-detectreslut文件 - >存儲驗證成功的url
【點擊閱讀原文查看源碼】
三,遠程命令執行在已發現的具有漏洞的URL基礎上,執行遠程命令。
代碼中執行whoami,有的已驗證漏洞URL,遠程命令執行會捕獲異常或返回html頁面,猜測目標structs2並未修復,只是在應用層的檢測和響應做出防禦。
-detectreslut文件 - >已存儲的驗證成功的url
-exploitresult文件 - >存儲whoami執行結果
【點擊閱讀原文查看源碼】
結果:
抓取不到300個URL就被Google返回503狀態碼,可以考慮付費API,更換代理,多進程進一步改進效率。
小範圍統計,約200個目標URL,返回50個具有漏洞的URL。
遠程命令執行,部分成功結果如下圖所示。
對於Linux系統,即使為非root用戶,但結合本地提權漏洞(例如dirtycown之類的內核漏洞,對於多說生產環境的伺服器,多數沒有被修復),危害甚大。
關於防護:除了升級到要求的struct2框架版本外,可以考慮暫時設置WAF規則攔截攻擊行為。
附:Imperva WAF攔截規則
Signature Pattern: part="Content-Type", part="multipart/form-data", part="_memberAccess", rgxp="^Content-Type\s*:[^\x0A\x0D]*multipart\/form-data[^\x0A\x0D]*_memberAccess"
Protocols: http, https
Search Signature In: Headers
referer:*本文作者:wwwillgaiiam,轉載請註明來自FreeBuf.COM