0x00简介
Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。
0x01漏洞概述
漏洞产生于网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。
0x02影响版本
Apache Struts 2.3–Struts 2.3.34
Apache Struts 2.5–Struts 2.5.16
0x03环境搭建
1. 这里使用vulhub的docker环境进行搭建,vulhub下载地址:
https://github.com/vulhub/vulhub
2. 下载完成后安装docker-compose //安装方