该漏洞存在于设备服务器 alphapd 在处理 wireless.htm 并将其显示给用户之前。如果在 URL 中提供了 WEPEncryption,且该值长度超过 0x28 字节,则将导致缓冲区溢出。URL 格式如下:
http://IP_ADDRESS/wireless.htm?WEPEncryption=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBB
将触发该漏洞利用,并在 0x42424242 处开始执行。
注意:该漏洞利用需要凭证才能成功。 默认凭证为 admin,密码为空。
完整的漏洞利用程序,利用 alphapd 服务器中的缓冲区溢出来在设备上执行任意命令。已在 DCS-5020L 的所有固件版本以及 DCS-930L 的最新固件上进行了测试。通过阅读 overflow 文件中的注释,可以添加更多设备和版本。如果时间允许,我可能会添加更多设备和版本,但这并非优先事项。该项目的初始提交包含一些更简单的 Python2 示例。
以下是受此漏洞影响的设备列表。所有固件版本当前均存在漏洞。
DCS-930L
DCS-931L
DCS-932L
DCS-933L
DCS-934L
DCS-5009L
DCS-5010L
DCS-5020L
DCS-5025L
DCS-5030L
https://www.shodan.io/search?query=Server%3A+alphapd
本项目使用 Python 3 编写,无法在 Python 2 下运行。
python3 exploit.py -i 192.168.0.100 -P 80 -u admin -p ""
视频 - https://www.youtube.com/watch?v=ijcbkY3dtso 跳转至 13:15 收听关于实际漏洞利用的讲解。
4 部分博客