D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出
2023-2-18 12:27:5 Author: Ots安全(查看原文) 阅读量:48 收藏

产品供应商: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 的反编译代码。

要重现该漏洞,可以执行以下步骤:

  1. 通过QEMU系统或其他方式启动固件(真机)

  2. 使用默认的用户名和密码登录web。

  3. 执行poc脚本如下:

python3 POC_for_formWlanGuestSetup.py <target_ip>

已经反映给商家了,还没有回复。。。

内容来自:https://github.com/1160300418/Vuls/tree/main/D-Link/DIR-605L/webpage_Vuls/01

此公众号不会引入特别麻烦的方式来获取POC、工具等,例如:发送信息到公众号或者知识星球此类方式在我的公众号上不会出现,永远都是快捷公开获取方式。


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247496598&idx=1&sn=e5ac5822c970fee4f6be3211f33b8926&chksm=9badbaddacda33cbaa2cb85a9a98b5f94402011c4d1b06908e4753247c704e3dcb665b606e8b#rd
如有侵权请联系:admin#unsafe.sh