S2-052復現過程(附POC利用)


漏洞編號:CVE-2017-9805(S2-052)

影響版本:Struts 2.5 - Struts 2.5.12

漏洞概述:問題出現在struts2-rest-plugin插件XStreamHandler處理器中的toObject()方法,其中未對傳入的值進行任何限制,在使用XStream反

 

0×01 搭建環境

直接部署struts-2.5.12-all中的struts2-rest-showcase項目即可,從下圖可以看出,插件的默認配置支持xml擴展。

1.png

運行看看,默認的xhtml擴展

2.png

轉換成xml也成功,但是注意Content-Type需要改成application/xml類型。

3.png

0×02 構造PoC

用marshalsec(https://github.com/mbechler/marshalsec)生成Payload,工具簡單使用方式如下:

java -cpmarshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller  截圖和代碼較長,點擊查看構造poc完整使用方式

0×03 復現驗證

7.png

 

0×04 加固建議

  • 升級Apache struts 2.5.13版本
  • 在不使用時刪除StrutsREST插件,或僅限於服務器普通頁面和JSONs

<constantname=”struts.action.extension”value=”xhtml,,json” />


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM