
在 Apache Struts 中发现了一个严重的安全漏洞,编号为 CVE-2023-50164(CVE: 9.8),该漏洞允许攻击者操纵文件上传参数,从而可能导致未经授权的路径遍历和远程代码执行(RCE)。
在 Apache Struts 中发现了一个严重的安全漏洞,编号为 CVE-2023-50164(CVSS:9.8),攻击者可利用该漏洞操纵文件上传参数,从而可能导致未经授权的路径遍历和远程代码执行(RCE)。
此漏洞利用脚本是为在 vsociety 上进行 CVE 分析而编写的。
为演示目的开发了一个简单的虚拟应用(见 struts-app 文件夹)。
你可以将其部署到 Tomcat 或任何其他 servlet 容器,或通过 mvn jetty:run 运行。
在后者的情况下,你可以通过端口 9999 访问该应用。
该漏洞利用脚本仅在应用部署到 Tomcat 时有效,因为利用路径是上传 WAR webshell。
然而,基于所使用的技术和其他情况,同一漏洞还可以通过许多其他利用路径来实现。
将漏洞利用应用部署到 Docker:
docker container stop exploit
docker build -t exploit .
docker run -d --rm --name exploit -p 8080:8080 exploit
安装 pip 包:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
然后,运行漏洞利用脚本:
对于 Docker:
python3 exploit.py --url http://localhost:8080/upload-1.0.0/upload.action
对于 Vagrant:
python3 exploit.py --url http://192.168.56.25:8080/upload-1.0.0/upload.action
请注意,该漏洞利用脚本需要一个实现文件上传功能的完整 URL。
此漏洞利用脚本仅为研究目的以及开发有效的防御技术而创建。 它不应用于任何恶意或未经授权的活动。 脚本的作者和所有者对因使用本软件而造成的任何误用或损害不承担任何责任。 敦促用户负责任地使用本软件,并且仅遵循适用的法律法规。 请负责任地使用。