0x00简介
Struts2 是 Apache 软件组织推出的一个相当强大的 Java Web 开源框架,本质上相当于一个 servlet。Struts2 基于 MVC 架构,框架结构清晰。通常作为控制器(Controller)来建立模型与视图的数据交互,用于创建企业级 Java web 应用程序,它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。
0x01漏洞概述
攻击者可以通过构造恶意的OGNL表达式,并将其设置到可被外部输入进行修改,且会执行OGNL表达式的Struts2标签的属性值,引发OGNL表达式解析,最终造成远程代码执行的影响。
0x02影响范围
Struts 2.0.0 – Struts 2.5.20
0x03环境搭建
1.本次漏洞环境使用vulhub快速搭建,vulhub下载地址如下:
https://github.com/vulhub/vulhub
cd vulhub-master/struts2/s2-059
2.使用docker-compose快速构建靶场环境