DLink 815路由器栈溢出漏洞分析与复现 qemu模拟环境搭建 固件下载地址 File DIR-815_FIRMWARE_1.01.ZIP — Firmware for D-link DIR-815 binwalk解压固件 binwalk -Me dir815.bin 得到文件系统: 查看bin
D-Link DIR-815 v1.01路由器实体机:用于测试分析结果 固件下载:ftp://ftp2.dlink.com/PRODUCTS/DIR-815/REVA/DIR-815_FIRMWARE_1.01.ZIP 03-漏洞定位 binwalk -Me解压 该漏洞的核心组件为hedwig.cgi,find . -name '*cgi'查找文件,并ls -l ./htdocs/web/hedwig.cgi发现hedwig.cgi是指向./htdocs/cgibin...
跟踪到主函数的位置,对函数功能进行大致分析,或者利用Ghidra或IDA7.5反汇编hedwigcgi_main函数,可以定位到其中的sprintf函数引起了栈溢出(其实在后面还有一个sprintf函数调用,它才是真实环境利用的位置,后面讲解说明)。hedwigcgi_main函数通过sess_get_uid()获取到HTTP_COOKIE中uid=之后的值,并将该内容按照sprintf函数中...
所以也就是判断一下路由器中有没有/var/tmp,具体方法详见《家用路由器0day漏洞挖掘技术》。最终的结论是第二个sprintf引起的栈溢出漏洞。 固件模拟并调试 这一部分是我想介绍,并花费了很长时间摸索的内容,因为没有路由器实体目标,所以需要通过模拟的方式来启动,这里要介绍模拟调试的三种方式,分别是qemu-user模式,qem...
终于到了总结的部分啦,这次主要和上次的不同是,1、增加了对cgi程序漏洞的复现,主要是设置环境变量,实际上他们获取参数的过程也是从环境变量中获取;2、实现了用firmadyne进行模拟复现的情况,并且成功利用;3、增加了ghidra的使用,这个对于mips来说还真的挺舒服的。原本计划增加一些命令执行的内容,以及自己的一些关于命令...
该漏洞主要对用户传入的数据没有进行安全检查,最终导致缓冲区溢出。即用户所有输入的数据都是不可信任的,需要开发者对传入数据进行有效安全检查。 参考 揭秘家用路由器0day漏洞挖掘技术 # 漏洞分析# 路由器漏洞 B2eFly 这家伙太懒了,还未填写个人描述!
binwalk -e DIR-815 FW 1.01b14_1.01b14.bin 得到文件系统如下: 二、漏洞静态分析 漏洞存在于hedwig_cgi函数中,当其处理前端的HTTP头中Cookie字段的uid值时,存在栈溢出漏洞。hedwig_cgi是集成到cgibin文件中的,因此直接拖取cgibin文件进行分析,定位hedwig_cgi函数: ...
最近在看各种关于路由器的环境模拟,漏洞复现的文章及《家用路由器0Day技术》,现在选择一个Dlink-dir-815进行分析,并且用三种方式对漏洞利用进行复现,分别是qemu-uset模式,qemu-system模式,以及firmadyne,希望对大家能有帮助。 环境准备 主要的环境准备参见上一篇文章,这里介绍本篇文章中会用的的模拟工具以及另一个静态...