因为为什么不呢
CVE-2024-10914 是最近发现的一个影响某些 D-Link 路由器的 9.8 分严重漏洞。由于这些路由器已达到生命周期终止 (EOL) 支持,D-Link 拒绝修补此漏洞,理由就是“别穷了,买个新路由器吧”。
受影响的设备暴露了一个 HTTP 端点,通常在 /cgi-bin/account_mgr.cgi?cmd=cgi_user_add&name=<user_input> 下。由于不当的清理机制,应用程序没有严格限制或验证输入(仅允许字母数字字符),反而允许注入任何字符,其中包括用于命令行操作的特殊字符,从而允许任意代码执行。
通过在 name 字段中插入 shell 元字符(例如 ;、|、& 或 $(command)),任何人都可以轻松运行 shell 命令。例如:
...name=admin'; echo '你个傻逼'; #
所有这些脚本所做的就是发送一个请求,将 name 参数改为你想要运行的任何代码。
fireship 有一个很好的视频对此进行了更详细的解释:https://www.youtube.com/watch?v=52v6gKPA4TM
首先,你需要一台受影响的设备,一些型号包括:
我强烈建议不要未经他人同意就使用此脚本攻击他人,请仅在你拥有路由器或获得所有者同意的情况下进行此类操作。
cargo run -- -u http://<设备 IP 地址>
cargo run
pip install -r requirements.txt
python main.py -u http://<设备 IP 地址>
python main.py
然后按照说明操作。
原始代码并非我本人构思,verylazytech 才是。我只不过把它移植到了 Rust 和 Python,妈的,为什么不呢。当然,所有功劳归于他以及任何参与发现此漏洞的其他人员。