漏洞概述
- Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。
- Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,导致系统被黑客入侵。恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
漏洞影响范围
- Struts 2.3.5 - Struts 2.3.31
- Struts 2.5 - Struts 2.5.10
漏洞复现
启动镜像,在浏览器访问,查看漏洞环境:

使用burp抓包

poc:
%{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('X-Test',1+99)}\xb
使

本文揭示了Struts2框架存在的远程命令执行漏洞(S2-045/CVE-2017-5638),涉及版本2.3.5-2.3.31和2.5-2.5.10。攻击者可通过恶意文件上传利用Content-Type头执行系统命令。演示了漏洞复现和利用工具,包括burp suite的技巧。同时提到了安全建议和自动化防御手段。
最低0.47元/天 解锁文章
1812





