Apache Struts2 2.0.0~2.3.1.1 远程命令执行漏洞(S2-009)

日期: 2019-11-01 | 影响软件: Apache Struts2 | POC: 否

漏洞描述

Apache Struts是一款建立Java web应用程序的开放源代码架构。漏洞允许恶意用户绕过内置在ParametersInterceptor中的所有保护(正则表达式模式,拒绝方法调用),可在任何输出字符串注入恶意表达式作进一步求值。ParametersInterceptor中正则表达式把top['foo'](0)作为合法表达式,而OGNL作为(top['foo'])(0)处理,把'foo' action参数值作为OGNL表达式求值。这可导致恶意用户把任意OGNL语句设置在action输出的任意字符串变量中,并以OGNL表示求值,由于OGNL语句在HTTP参数值中,攻击者可以使用黑名单字符如#禁用方法的执行并执行任意方法,绕过ParametersInterceptor和OGNL库保护。

PoC代码

暂无

相关漏洞推荐