1、产品简介
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
2、漏洞描述
该漏洞由于对CVE-2020-17530的修复不完整造成的,CVE-2020-17530漏洞是由于Struts2 会对某些标签属性(比如id) 的属性值进行二次表达式解析,因此当这些标签属性中使用了 %{x} 且 其中x 的值用户可控时,用户再传入一个 %{payload} 即可造成OGNL表达式执行。在CVE-2021-31805漏洞中,仍然存在部分标签属性会造成攻击者恶意构造的OGNL表达式执行,导致远程代码执行。
3、影响范围
受影响的版本:
Struts 2.0.0 - Struts 2.5.29
安全版本:
Struts >= 2.5.30
4、漏洞复现
复现环境:vulfocus在线靶场Vulfocus 漏洞威胁分析平台
1、访问靶场漏洞环境,利用HackBar插件工具提交POST恶意请求
POC如下:
name=(#reque