提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《威尼斯wns.8885556隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于威尼斯wns.8885556

    申请试用
      D-Link路由器CNVD-2013-11625缓冲区溢出漏洞复现
      发布时间:2023-06-09 阅读次数: 579 次

      漏洞简述


      2013年,D-Link DIR-645无线路由器被爆出存在缓冲区溢出漏洞,远程攻击者通过向该无线路由器的"post_login.xml"、"hedwig.cgi"、"authentication.cgi"等接口接口提交特制请求即可触发缓冲区溢出,可使应用程序停止响应,造成拒绝服务攻击,漏洞编号为CNVD-2013-11625。后经安全研究员分析发现,该漏洞同时影响D-LINK的DIR-815/300/600/645型号路由器设备。
      固件模拟

      本文基于D-LINK DIR-815路由器的存在漏洞版本的固件进行相关分析

      首先下载路由器固件文件



      https://pmdap.dlink.com.tw/PMD/GetAgileFile?itemNumber=FIR1000487&fileName=DIR-815A1_FW101SSB03.bin&fileSize=3784844.0

      首先使用binwalk解压固件


      binwalk -Me DIR-815A1_FW101SSB03.bin --run-as=root

      解压后在/squashfs-root得到固件的文件系统

      接下来使用qemu-system-mipsel系统模拟,模拟前需要先下载mips架构的内核镜像和文件系统


      https://people.debian.org/~aurel32/qemu/mipsel/

      图片

      下载完成后执行下面的命令进行模拟


      sudo qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic -net tap -nographic
      图片



      输入root/root即可进入qemu模拟系统

      接下来需要在宿主机进行网卡配置

      若没有安装依赖需要先执行如下命令安装依赖库


      sudo apt-get install bridge-utils uml-utilities

      然后依次执行下面的命令配置网卡

      sudo sysctl -w net.ipv4.ip_forward=1
      sudo iptables -Fsudo iptables -X
      sudo iptables -t nat -F
      sudo iptables -t nat -X
      sudo iptables -t mangle -F
      sudo iptables -t mangle -X
      sudo iptables -P INPUT ACCEPT
      sudo iptables -P FORWARD ACCEPT
      sudo iptables -P OUTPUT ACCEPT
      sudo iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE
      sudo iptables -I FORWARD 1 -i tap0 -j ACCEPT
      sudo iptables -I FORWARD 1 -o tap0 -m state --state RELATED,ESTABLISHED -j ACCEPTsudo ifconfig tap0 172.16.20.254 netmask 255.255.255.0

      此时通过ifconfig命令即可看到配置好的tap0网卡

      接下来进入到qemu虚拟机中进行网络配置

      依次执行下面的命令

      ifconfig eth0 172.16.20.2 netmask 255.255.255.0route add default gw 172.16.20.254ifconfig

      图片

      可以看到qemu虚拟机的eth0网卡ip地址已经配置为172.16.20.2

      此时若上述配置没有问题,宿主机和qemu虚拟机之间已经可以相互连通

      图片

      通过下面的命令从宿主机将解压固件后的得到的文件系统传到qemu虚拟机上

      scp -r squashfs-root/ root@172.16.20.2:/root

      图片

      传输完成后,进入到qemu虚拟机的squashfs-root/目录,新建一个http_conf文件,该文件是http服务的配置文件

      文件内容如下

      图片

      然后在qemu虚拟机的squashfs-root/下编写一个init.sh脚本,通过这个脚本进行初始化并启动路由器h固件http服务

      init.sh脚本内容如下

      通过浏览器访问

      http://172.16.20.2:4321/hedwig.cgi

      可以看到成功启动了http服务

      图片

      漏洞复现

      打开burpsuite,抓取浏览器访问http://172.16.20.2:4321/hedwig.cgi的请求包

      由于直接浏览器访问提示不支持GET请求方法,所以将请求方法改为POST

      会返回411错误,根据报错应该是缺少Length字段

      图片

      在请求头中加入Content-Length字段后再次请求,返回200,提示“no xml data”

      图片

      创建一个exp.py脚本,脚本内容如下,该脚本的功能是利用漏洞执行“touch /tmp/havebeenpwn”命令


      图片

      在宿主机执行python exp.py

      可以看到qemu虚拟机的/tmp目录下成功创建了一个名为havebeenpwn的文件

      图片



      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部