CVE-2021-43474:D-Link DIR-823G命令注入漏洞分析
时间:2023-02-16 作者:安帝科技-CSX安全实验室
D-Link DIR-823G是中国友讯(D-Link)公司的一款无线路由器。D-Link DIR-823G 1.02B05固件版本存在命令注入漏洞,该漏洞源于程序缺少对外部提交数据的验证,攻击者可利用该漏洞执行任意系统命令。
Part1 漏洞状态
Part2 漏洞描述
Part3 漏洞复现
1. 复现环境
系统版本:Kali 2022.4
固件版本:DIR823G_V1.0.2B05
2. 复现步骤
使用FAT运行固件
访问http://192.168.0.1/Login.html,确保固件成功运行。
运行PoC
访问http://192.168.0.1/CSX.txt,此时可以读取写入的数据,漏洞复现成功。
Part4 漏洞分析
使用binwalk从固件提取数据。
在rcS文件中发现系统运行了goahead程序,并在bin/目录下查找到了goahead文件。
分析goahead文件,可以在sub_423F90函数中发现/HNAP1路径的处理程序为sub_42383C函数。
sub_42383C函数的第31行代码使用参数a7作为系统命令的一部分,然后第32行代码执行了这个命令,值得注意的是该函数在执行命令前并未对参数a7进行检查。
接下来通过动态调试来了解参数a7。通过查看snprintf函数的汇编代码,可以确定寄存器$a3对应参数a7。
在gdb中设置断点0x00423A04并运行PoC,随后可以观察到寄存器$a3指向post请求数据。即post请求数据作为系统命令的一部分,因此可以通过构造HTTP请求进行命令注入。
Part5 修复建议
厂家已发布漏洞修复程序,尽快升级到最新版本。
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com