最近在复习pwn的一些知识。主要涉及到当堆栈开启了保护的时候,我们不能够直接将shellcode覆盖到堆栈中执行,而需要利用程序其他部分的可执行的小片段来连接成最终的shellcode。此小片段就是gadgets。本文主要通过练习题的方式讲述如何寻找gadgets,如何利用现有的工具来加速自己的pwn的效率。Gadgets的类型和难度也逐步变化。下面带来手把手教你linux pwn。让你的pwn技术从入门到熟练。练习题的难度逐步加大。
第一关
第一关的gadgets较为简单,包含了一个直接可以利用的,可返回shell的函数。我们只要计算好覆盖的偏移,将可返回shell函数的地址覆盖到相应的位置即可以。程序下载:Pwn1
我们首先来查看一下该程序的保护情况,发现开启了堆栈保护。即NX enabled。且是32bit的程序。因此需要在32位的linux环境下测试。