D-Link revA v1.13 路由器后门

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

下载了D-link无线路由器(型号:DIR-100 revA)的[固件程序 v1.13](ftp://ftp.dlink.eu/Products/dir/dir-100/driver_software/DIR-100_fw_reva_113_ALL_en_20110915.zip)。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中: ![](https://images.seebug.org/1452156660242) 基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个[子公司](http://www.alphanetworks.com/chinese/06_about/00_overview.php))的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀: ![](https://images.seebug.org/1452156690006) 这个 **alpha_auth_check** 函数看起来很有意思! 这个函数被很多地方调用,最明显的一个是来自 **alpha_httpd_parse_request** 函数: ![](https://images.seebug.org/1452156694868) 我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器 $s2 里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到 alpha_httpd_parse_request 的结尾处,否则,它将继续处理请求。 寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL: ![](https://images.seebug.org/1452156729502) 我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子: ``` struct http_request_t...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息