admin 管理员组

文章数量: 1184232

Dlink路由器 CNVD-2018-01084复现分析

0x01 背景介绍

D-Link DIR 615/645/815路由器 1.03及之前的固件版本 存在远程命令执行漏洞。该漏洞是由于 service.cgi 中拼接了HTTP POST请求中的数据,造成后台命令拼接,导致 可执行任意命令

cnvd上的漏洞说明:

0x02 固件分析

  1. 在官网获取漏洞版本的固件:DIR645A1_FW102B08.bin

  2. 解压固件,获得文件系统

    (1)安装 sasquatch
    ​ 需要安装 sasquatch

    (2)binwalk


    ​ 获得完整的文件系统
    CGI中一般通过getenv或stdlib库函数getenv来获得环境变量获取post过来的数据,

getenv

要注入的命令放到request_uri环境变量时候成功

0x03 固件仿真

​ 使用qemu user mode 对固件进行部分仿真,对象是cgibin

chroot . ./qemu-mipsel-static ./htdocs/cgibin

​ 由于chroot . 改变根目录 无法搜索环境变量 qemu-mipsel-static

​ 将其拷贝至当前目录 以./qemu-mipsel-static调用

​ 发现提示unknown com

本文标签: 系统 编程 环境变量