目录
框架介绍
Apache Struts 2最初被称为WebWork 2,它是一个简洁的、可扩展的框架,可用于创建企业级Java web应用程序。Struts 2是Struts 1的一个升级版,但是它和Struts 1来相比,提供了太多的增强和改进,怎么运行的呢,就是实现了Servlet的功能,来进行控制页面跳转。同时这也是基于MVC设计模式的Web应用框架,Struts 2的控制功能就相当于MVC中的Controller的功能,用来控制页面的转向。
漏洞原理
开发人员使用了 %{…} 语法,当非法用户在Struts标签属性中强制使用OGNL表达式构造Payload,进行绕过S2-059的沙盒,到达远程命令执行的目的。漏洞等级:高危 ,漏洞评分:7.5。
影响版本
Struts 2.0.0 – Struts 2.5.25
环境搭建
- 本次环境使用docker搭建,需要在kali中安装docker以及docker-compose,详细安装和使用方法如下链接:
https://blog.csdn.net/pushiqiang/article/details/78682323
- 项目下载链接:
https://github.com/vulhub/vulhub
- 下载完成后将压缩包导入kali,进入s2-061目录中可以看到如下文件
- 拉取镜像启动环境:
docker-compose up -d