题目描述:菜鸡了解了什么是溢出,他相信自己能得到shell
0x01
checksec
IDA
main函数伪代码
尝试运行
0x02
分析程序发现callsystem函数可直接返回shell
进一步跟进vulnerable_function函数
read可接收0x200个字节,buf的字符数组长度是0x80,我们可以覆盖到返回地址的位置让程序跳转到callsystem函数地址处给我们返回一个回话
buf的数组空间结尾还有一个s,八个字节,最后的r就是我们要覆盖的返回地址的地方
0x03
构造exp
1 | from pwn import * |