MIPS

栈是一种具有先进后出队列性质的数据结构。调用栈(Call Stack)是指存放某个程序正在运行的函数的信息的栈。调用栈由栈帧(Stack Frame)组成,每个栈帧对应一个未完成运行的函数。
Shellcode 是一段可以执行特定功能的特殊汇编代码,在设备漏洞利用过程中,尤其是栈溢出漏洞,我们一般都会使用调用 shellcode 的方法来进行攻击(ret2shellcode)。
因为 MIPS 指令集不同于 X86 指令集架构,所以在栈溢出的利用方式上有所差别,ROP 链的构造也不尽相同,这里概述一下关于 MIPS 栈溢出利用的技巧和特点。
IDA 无法直接反汇编 mips 代码,但是有两个插件可以辅助我们进行伪代码的生成。
最后在学习 MIPS 漏洞挖掘的过程中,找到了一个不错的靶机平台 The Damn Vulnerable Router Firmware Project。
最后在学习 MIPS 漏洞挖掘的过程中,找到了一个不错的靶机平台 The Damn Vulnerable Router Firmware Project。
MIPS 指令集主要使用在一些嵌入式的 IOT 设备中,MIPS 指令集的栈溢出与 x86 指令集的有所不同,所以漏洞的利用方式也不太相同,但是溢出的思路是一样的:覆盖返回地址、劫持程序控制流、构造 ROP chain 、写 shellcode 等等。
第一次从事物联网安全相关的研究,发现很多知识需要从头学起。在努力学习之余,想发个系列文章,把学过的知识和走过的弯路都发出来,一来是督促自己,二来是希望和大牛们多学习。希望大家不吝赐教哟!
网鼎杯(第四场)的两题MIPS PWN。
在学习家用路由器这本书以及看网上大佬写相关文章 的时候,总感觉有些关键细节一笔带过,有时候给我造成了很大的困扰,鉴于这个原因,我想到把自己的一些思考以及实际操作经验写出来给后来者。