一个被标识为 CVE-2023-50164(CVE 评分:9.8)的关键安全漏洞在 Apache Struts 中被发现,该漏洞允许攻击者操纵文件上传参数,可能进而导致未授权路径遍历和远程代码执行(RCE)。
为 CVE 分析开发了一个简单的测试应用。
首先使用 docker build 命令构建应用:
docker build -t exploitable -f DOCKERFILE .
然后,使用 docker run 命令运行应用:
docker run -p 8080:8080 exploitable
在此情况下,您可以通过端口 8080 访问应用。
您可以将其部署到 Tomcat 或任何其他 Servlet 中,或者通过 mvn jetty:run 运行它。在这种情况下,您可以通过端口 9999 访问应用。利用脚本仅在应用部署到 Tomcat 时有效,因为利用路径是上传一个 WAR Webshell。但是,基于所使用的技术和其他情况,同一漏洞可能有许多其他利用路径。
安装 PIP 包:
pip install requests requests_toolbelt
然后,您可以根据应用 URL 更改路径并运行以下命令:
python exploit.py --url http://localhost:8080/upload.action
建议在 Windows 主机上运行应用和利用程序。该利用程序有时可能无法在基于 *nix 的系统上运行。
此利用脚本是为研究目的而创建的。不打算用于任何恶意或未经授权的活动。