D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

IoT 1年前 (2023) admin
398 0 0

概述

产品供应商: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.13B01 通过网页参数包含堆栈溢出

漏洞详情

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)。攻击者可以构造一个有效载荷来进行任意代码攻击。

D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

图A:读取参数“webpage”的值并调用strcpy函数将值赋给全局变量“last_url”的函数的反编译代码。

D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

图B:以全局变量“last_url”为参数调用websRedirect函数的函数反编译代码。

D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

图C:函数websRedirect的反编译代码。

D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

图 D:函数 send_r_moved_perm 的反编译代码。

复制和 POC

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

  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、工具等,例如:发送信息到公众号或者知识星球此类方式在我的公众号上不会出现,永远都是快捷公开获取方式。

原文始发于微信公众号(Ots安全):D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出

版权声明:admin 发表于 2023年2月18日 下午12:26。
转载请注明:D-Link N300 WI-FI 路由器 DIR-605L v2.13B01 通过网页参数包含堆栈溢出 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...