b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

路由器固件调试方案

电脑杂谈  发布时间:2020-10-18 16:04:35  来源:网络整理

路由器调试方案_路由器调试方案

0x01前言

本文主要介绍研究路由器固件安全性时常用的两种调试方法,即IDA远程调试和gdb远程调试。这里应该注意的是,由于路由器基本上是mips架构,因此以下以mips为例进行说明,但是如果遇到了arm,则同样如此。

0x02

IDA Pro远程调试

以qemu系统模式运行的脚本如下:

路由器调试方案

这里涉及的两个文件是内核文件和磁盘映像文件

请注意,此处涉及的固件采用big-endian格式,如下所示:

路由器调试方案

因此,请使用* mips而不是* mipsel

对于以后的调试,我们还需要准备可由自己编译的gdbserver,但我建议在Internet上使用静态编译的gdbserver。这是Rapid7的发行版:

路由器调试方案

这次我使用大端字节,所以使用gdbserver.mipe。

在运行脚本之前,除了准备这两个文件之外,还必须执行下图中的命令

路由器调试方案

路由器调试方案_路由器调试方案

将其复制到当前目录

此路径下的文件包括:

路由器调试方案

因此可以启动

路由器调试方案

成功启动后如图所示

路由器调试方案

输入root / root。

查看ip

路由器调试方案

通过scp将先前提取的文件系统上传到计算机上

路由器调试方案

再次上传gdbserver

路由器调试方案

返回debian,查看上传成功

路由器调试方案_路由器调试方案

路由器调试方案

然后将gdbserver复制到squashfs-root目录

路由器调试方案

下一步,挂载根文件系统

路由器调试方案

通过这种方式,文件系统已成功安装并在mips系统中运行

接下来,通过gdbserver进行远程调试:

路由器调试方案

命令中的ip是Debian的ip,端口号由您自己设置,然后是要调试的程序

然后在win中打开ida,加载本地cgibin,并在main下设置断点

路由器调试方案

下一个调试器->选择调试器

路由器调试方案

选择远程gdb调试器

只需单击确定

路由器调试方案_路由器调试方案

调试器->处理选项

路由器调试方案

在上面的debian中填写路径,下面是ip和相应的端口,单击“确定”。

调试器->附加到进程

路由器调试方案

选择第一个,单击“确定”,即可开始调试

路由器调试方案

点击左上角的箭头后,它将自动运行并击中下面的断点

路由器调试方案

已设置调试环境。

0x03

GDB远程调试

打开两个终端

终端在qemu-user模式下运行stack_bof_01

路由器调试方案

路由器调试方案_路由器调试方案

不同于直接运行,该端口在-g此处指定

接下来,在另一个终端中通过gdb调试

路由器调试方案

-multiarch用于支持其他架构,例如此处的mips架构

接下来,首先将架构设置为mips

路由器调试方案

然后设置IP和端口

路由器调试方案

通过pwndbg的扩展,我们可以轻松调试。

路由器调试方案

0x04

阅读本文后,每个人都知道我的重点是ida动态调试。我个人认为这是最可靠的调试解决方案。但是,此期间涉及的功能实现有很多替代方法:例如,在将文件系统,gdbserver上传到debian时,我使用的是scp,当然,您也可以使用other,ftp也可以,而python也可以好的(python -m SimpleHTTPServer)

如果您是阅读本文的新手,则必须注意它。尽管我使用qemu系统模式和IDA远程调试进行分析,但是使用qemu用户模式和gdb-multiarch进行分析。但实际上,它可以自由组合。另外,radare2也可以用于mips调试,但是根据我的个人经验不是必需的,因此我将不介绍它。

最后给出扩展文章:

介绍了qemu仿真的两种模式,分别是radare2本地/远程调试,gdb远程/本地调试,ida远程调试等,共有九种组合方案。如果您有更多的学习时间,可以查看一下。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-326928-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 杉田智和
        杉田智和

        机巡航南海中国岛礁12海里

      热点图片
      拼命载入中...