此仓库包含一个Python脚本,用于利用CVE-2024-50379漏洞,该漏洞允许攻击者向易受攻击的服务器上传JSP shell并远程执行任意命令。当目标服务器上的/uploads目录未受保护或缺失时,此利用工具尤为有用。
CVE-2024-50379 是一个影响服务器文件上传处理不当的漏洞,使攻击者能够上传JSP shell。该shell随后可用于远程执行任意命令。提供的Python脚本通过将shell上传到易受攻击的服务器并允许通过命令行界面与服务器交互,自动化了这一过程。
在运行脚本之前,请确保已安装以下内容:
Python 3.6+(推荐)
requests库。使用pip安装:
pip install requests
该漏洞利用针对运行Apache Tomcat或类似服务器,这些服务器未能正确保护其文件上传功能或存在配置错误的/uploads目录。
重要提示: 此工具仅应在受控环境中使用,例如获得许可的渗透测试或用于教育目的。未经授权使用此工具可能违法且不道德。
http://前缀。/uploads目录: 如果/uploads目录不存在,工具将继续尝试上传shell。将仓库克隆到本地机器:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
确保已安装所需的Python库:
pip install requests
使用以下命令运行脚本:
python exploit_cve_2024_50379.py
脚本会提示您输入易受攻击服务器的基础URL(例如http://localhost:8080)。如果URL不包含http://或https://,它将自动添加http://。
成功上传JSP shell后,您可以交互式输入要在服务器上执行的命令。脚本将显示输出。
示例交互:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
完成交互后,输入exit退出工具。
该工具包含对常见问题的稳健错误处理,例如:
失败操作将自动重试最多三次,每次间隔2秒。如果重试后操作仍失败,将显示错误信息。
欢迎贡献!如果您发现错误或有改进建议,请随时提出问题或提交拉取请求。
此工具仅用于教育和渗透测试目的。请勿在您不拥有或未获得明确许可的系统上使用此工具。未经授权使用是违法的,并可能导致刑事指控。
本项目采用MIT许可证。详情请参阅LICENSE文件。