0x0 简介

D-Link DIR-816 A2是中国台湾友讯(D-Link)公司的一款无线路由器。攻击者可借助 "datetime" 参数中的shell元字符利用该漏洞在系统上执行任意命令。

0x1 准备

固件版本 1.10B05:http://support.dlink.com.cn:9000/ProductInfo.aspx?m=DIR-816

漏洞存在的程序:goahead

0x2 工具

1.静态分析工具:IDA

2.系统文件获取:binwalk

3.动态调试工具:qemu、IDA

0x3 测试环境

本人使用Ubuntu 16.04虚拟机测试环境,qemu模拟器模拟D-Link DIR-816 A2固件运行真实情景。

0x4 goahead程序调试

1.使用binwalk进行固件解包(binwalk -Me DIR-816A2_v1.10CNB03_D77137.img)

2.通过binwalk可以解包出如下图的文件,squashfs-root就是我们需要的文件系统。

3.一般可以通过find -name "*index*" 可以搜索出web的根目录在哪个具体目录下。

4.通过file ../../bin/goahead 命令(由于本人已经进入到根目录下面,所以是../../bin/goahead),可以看出该系统是MIPS架构,则qemu模拟器需要使用MIPS方式的模拟器。

5.sudo qemu-mipsel -L ../../ -g 1234 ../../bin/goahead

-g 使用qemu并将程序挂载在1234端口,等待调试。

-L 是根目录的所在的位置。

可以使用IDA远程调试连接1234端口,进行调试,获取使用gdb也可以调试。

6.如下图操作,IDA即可开启远程调试。

7.经过测试,我们需要在0x45C728处下一个断点,因为此处的 bnez 会使程序退出,所以需要将V0寄存器的值修改为1。

8.同理需要在0x45cdbc地址下断点,并将V0寄存器修改为0。

9.两处地址都通过后,在网址中输入http://192.168.184.133/dir_login.asp,即可访问到登录页面。

10.想进入路由器web操作页面,就必须先登录,在web服务器程序中用户名为空,而web页面有JS校验,必须需要输入用户名才能进行登录校验,那么可以修改登录校验的寄存器,让其成功运行登录。

11.在0x4570fc地址处下断点,修改V0寄存器的值为0。因为此处的V0是用户名的值,在登录页面中,我们是随意输入,所以肯定是不会正确的,那么就只有修改为0后才能跳转到正确的登录流程。

12.登录成功后,会出现页面错误。

13.再在网址中输入http://192.168.184.133/d_wizard_step1_start.asp,即可进入到登录成功后的页面。看到如下图,即可证明已经登录成功。

14.登录认证后,点击维护,再点击时间与日期,最后点击应用,此处便是漏洞触发点。

15.最终可以通过构造datetime的值,执行任意命令。

0x5 总结

这个固件可以锻炼qemu模拟器的使用以及IDA简单调试能力,在没有真实路由器的情况下qemu是非常好用的一款模拟工具,模拟很多款路由器。该程序还存在多个命令执行漏洞,非常适合练手。命令执行漏洞相对来说比较简单,但是杀伤力巨大,很适合新手入门。

转载-->https://www.freebuf.com/vuls/265046.html

0x01 D-Link路由器漏洞研究分享相关推荐

  1. TP-Link 不回应,安全工程师公开了其路由器漏洞的,大厂竟漠不关心

    本文转自开源中国: h4cd的TP-Link 不回应,安全工程师公开了其路由器漏洞 此前 Google 安全工程师在 TP-Link 的 SR20 智能家居路由器上发现了一个允许从本地网络连接执行任意 ...

  2. 浅谈漏洞思路分享-只有登录框的渗透测试

    目录 0x00 弱口令 0x01 sql注入 0x02 暴力破解 0x03 验证码绕过 0x04 修改响应码 0x05 目录扫描 0x06 找回密码功能 0x07 注册功能 0x08 历史漏洞 0x0 ...

  3. 袁哥写的漏洞研究方法总结

    一.前期准备,建立安全模型: 1.熟悉软件功能.功能实现,配置等: 如:IIS的虚拟目录.脚本映射: 2.根据功能,分析安全需求,建立安全模型: IIS外挂,文件类型识别,目录正确识别:目录限制: 外 ...

  4. Java反序列化漏洞研究

    Java反序列化漏洞研究 漏洞原理 java序列化就是把对象转换成字节流,便于保存在内存.文件.数据库中:反序列化即逆过程,由字节流还原成对象.当反序列化的输入来源于程序外部,可以被用户控制,恶意用户 ...

  5. 这个路由器漏洞已存在12年,可影响全球数百万台设备引发供应链攻击

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件 ...

  6. 亲历漏洞研究最让人难受的地方:看到打补丁版本,才知漏洞一直近在眼前(详述)...

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 本文叙述的是作者还在谷歌 Project Zero (GPZ) 团队工作时发生的事情.说明了做漏洞研究更令人沮丧的一面:当你看到打补丁 ...

  7. weblogic发序列化命令执行漏洞工具分享

    weblogic发序列化命令执行漏洞工具分享(链接: https://pan.baidu.com/s/1qE5MFJ32672l-MMl-QL-wQ 密码: d85j) JBOSS_EXP 工具分享( ...

  8. 通过CVE-2017-17215学习路由器漏洞分析,从入坑到放弃

    1.基本信息: 2017/11/27,Check Point 软件技术部门报告了一个华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215),Mirai的升级版变种中已经使用该漏洞.看 ...

  9. 缺氧游戏黑科技计算机,缺氧实用黑科技研究分享

    缺氧实用黑科技研究分享 2017-07-18 来源:游侠 作者:未知 缺氧随着温度与植物机制变化,生存变得越来越不易,而在游戏中除了常规的玩法之外,还有些实用的黑科技能帮大家轻松生存,今天小编就为大家 ...

最新文章

  1. 自定义非等高 Cell
  2. 在VisualState状态里更改Grid的列宽之类的
  3. 多线程下载工具axel
  4. 阻塞IO, 非阻塞IO, 同步IO,异步IO
  5. java xml stax_如何使用Java StAX Iterator API用Java编写XML文件
  6. java_oop_三大特性
  7. Nmap命令:-sP和-sN的区别
  8. 【教程搬运】廖雪峰Git的使用教程(二)
  9. 想成为Python高手,必须看这篇爬虫原理介绍!(附29个爬虫项目)
  10. 阿里巴巴线上面试总结
  11. 计算机博士、加班到凌晨也要化妆、段子手……IT 女神驾到!
  12. linux格式化sd卡,并进行挂载
  13. 再见python你好go语言_再见,Python!你好,Go语言
  14. 【BirdDog】 Full NDI在体育/电竞直播中的降成本、轻量化、多机位现场制作
  15. 【从0开始入门python】一个半月的三万字学习笔记汇总!!!
  16. 利用arcgis进行excel数据的空间相关性分析
  17. 计算机网络可用主机地址数量怎么算,子网数目及子网主机数计算
  18. tar 分卷压缩和解压缩
  19. 软件构造Lab2-实验报告
  20. 微信小程---倒计时

热门文章

  1. UVA475 KMP算法题
  2. CRC循环冗余校验引起的二进制除法如何计算风暴
  3. 如何在家远程控制办公室电脑
  4. Auto.js实现自动填充文本
  5. Apache hudi 0.10.1学习笔记之压缩Compaction(下篇)——执行压缩计划
  6. 已知长方体相邻三个面的面积,求长方形的周长(数学公式)
  7. 职业生涯规划计算机专业作文,信息与计算科学专业大学生职业生涯规划范文
  8. comsol三维多孔结构 泡沫材料 孔隙介质模型
  9. RouterOS v7 策略路由配置实例
  10. 面试系列 | 技术面试老是有劲使不出,该怎么办