产品供应商:D-Link ( https://www.dlink.com/ )
报告人:HIT-IDS ChunkL Team xsz
产品:D-Link DIR-605L
受影响固件版本:2.13B01 BETA
固件:https://support.dlink.com/resource/SECURITY_ADVISEMENTS/DIR-605L/REVB/DIR-605L_REVB_FIRMWARE_v2.13B01_BETA.zip
D-Link N300 WI-FI路由器DIR-605L(固件版本v2.13 B01 Beta)存在基于堆栈的缓冲区溢出漏洞,可能导致远程代码执行或拒绝服务。该问题存在于“/bin”文件夹中的二进制“boa”中,该二进制文件负责为设备接收的 http 连接提供服务。
在处理 post reuqest "/goform/formWlanGuestSetup" 时,可以任意长的 "webpage" 参数的值最终被 "sprintf" 函数复制到堆栈内存中,并可能导致缓冲区溢出。“webpage”参数的值首先由strcpy函数赋值给全局变量(如图A第89-92行所示),然后这个全局变量最终作为参数传递给sprintf函数(如图A所示)图 BD)。攻击者可以构造一个有效载荷来进行任意代码攻击。
图A:读取参数“webpage”的值并调用strcpy函数将值赋给全局变量“last_url”的函数的反编译代码。
图B:以全局变量“last_url”为参数调用websRedirect函数的函数反编译代码。
图C:函数websRedirect的反编译代码。
图 D:函数 send_r_moved_perm 的反编译代码。
要重现该漏洞,可以执行以下步骤:
通过QEMU系统或其他方式启动固件(真机)
使用默认的用户名和密码登录web。
执行poc脚本如下:
python3 POC_for_formWlanGuestSetup.py <target_ip>
已经反映给商家了,还没有回复。。。
内容来自:https://github.com/1160300418/Vuls/tree/main/D-Link/DIR-605L/webpage_Vuls/01
此公众号不会引入特别麻烦的方式来获取POC、工具等,例如:发送信息到公众号或者知识星球此类方式在我的公众号上不会出现,永远都是快捷公开获取方式。