0%

给了我们两个二进制,分别为32位和64位,两个程序功能完全相同,有一个裁决程序,fork出这两个程序,并监听着它们的输出,如果两者输出不一样或者一方崩溃,则裁决程序就会kill掉它们两个。

首先,我们检查一下程序的保护机制

阅读全文 »

SROP可以在gadgets很少的时候的栈利用里使用,近期学习linux后,明白了程序进行系统调用时,状态会从用户态切换到内核态。而切换的实质是将用户态的寄存器保存。而返回的时候,再重新恢复用户态的寄存器。系统调用signreturn,是内核态恢复到用户态;它的具体操作是**[从用户的栈中弹出寄存器的值]{.mark}**。因此,如果栈能被我们控制,然后我们能够构造signreturn的系统调用,那么就能完成利用。我们的目的就是可以借助signreturn来控制全部的寄存器。

例题ciscn_2019_s_3

首先,检查一下程序的保护机制

阅读全文 »

前言

厌倦了x86/x64 平台下的二进制漏洞利用,来看看mips/arm平台下的pwn是如何达到利用的。众所周知,mips/arm架构cpu主要用于嵌入式设备,比如路由器这些。当我们在x86/x64平台练习到一定境界后,再去探索一个新的平台下的漏洞利用,我们可以借鉴以前的方法,总之,思想都是一样的。只不过是指令的样子不同而已。

MIPS架构的pwn

阅读全文 »