vn_pwn_easyTHeap(劫持IO_2_1_stdout的虚表) 发表于 2020-04-09 分类于 CTF 首先,已知libc版本为2.27,所以存在tcache机制,并且可以随意的double free tcache bin的chunk。 然后,我们检查一下程序的保护机制 阅读全文 »
SROP 发表于 2020-04-05 分类于 CTF SROP可以在gadgets很少的时候的栈利用里使用,近期学习linux后,明白了程序进行系统调用时,状态会从用户态切换到内核态。而切换的实质是将用户态的寄存器保存。而返回的时候,再重新恢复用户态的寄存器。系统调用signreturn,是内核态恢复到用户态;它的具体操作是**[从用户的栈中弹出寄存器的值]{.mark}**。因此,如果栈能被我们控制,然后我们能够构造signreturn的系统调用,那么就能完成利用。我们的目的就是可以借助signreturn来控制全部的寄存器。 例题ciscn_2019_s_3首先,检查一下程序的保护机制 阅读全文 »
mips/arm pwn初探 发表于 2020-04-02 分类于 CTF , IOT 前言厌倦了x86/x64 平台下的二进制漏洞利用,来看看mips/arm平台下的pwn是如何达到利用的。众所周知,mips/arm架构cpu主要用于嵌入式设备,比如路由器这些。当我们在x86/x64平台练习到一定境界后,再去探索一个新的平台下的漏洞利用,我们可以借鉴以前的方法,总之,思想都是一样的。只不过是指令的样子不同而已。 MIPS架构的pwn 阅读全文 »
linux kernel pwn学习之hijack prctl 发表于 2020-03-06 分类于 CTF Prctl是linux的一个函数,可以对进程、线程做一些设置,prctl内部通过虚表来调用对应的功能,如果我们劫持prctl的虚表,使它指向其他对我们有帮助的内核函数,比如call_usermodehelper函数,该函数执行一个用户传入的二进制文件,且以root权限执行,由此可以利用起来提权。 我们分析一下prctl源码,在linux/kernel/sys.c里,我们看到这 阅读全文 »