Struts2

S2-003的漏洞核心在于Struts2中的ParametersInterceptor(某个拦截器)会对请求中的参数名称进行OGNL的表达式解析,虽然有一定的过滤,但是过滤的不完全导致被绕过。
S2-001的漏洞原理是模板文件(JSP)中引用了不合适的标签进行渲染,并且渲染的值是用户可控的,此时则达成了表达式注入的目的。
本文创作的初衷在于分享和总结,作为一只网安新人小白,在RCE方向上的求知经高人指点落脚在了Struts2上。
Struts2是以MVC架构为基础的WEB框架,通过WEB Filter的方式内嵌在WEB服务器中进行使用。
hi!! 新面孔打个招呼~最近花了蛮长时间看 Struts2 的漏洞,可能某些安全研究人员(像我)会选择 Struts2 作为入手 java 研究的第一个框架,毕竟最早实现 MVC(Model+View+Controller) 模式的 java web 框架就是 struts 了。所以输出这篇文章记录下我的总结以及理解,如果能对你有所帮助就更好了 ~!
从零开始分析struts2代码执行exp,其中不但包括了struts2自己设置的防护机制绕过,还有ognl防护绕过。