攻防世界pwn新手练习区-hello_pwn


攻防世界pwn新手练习区-hello_pwn

查看基本信息并运行文件

查看文件类型: file hello_pwn
查看保护: checksec --file=hello_pwn
运行文件:./hello_pwn

该文件在我的电脑中的文件名为hello_pwn
攻防世界pwn新手练习区-hello_pwn

在IDA中分析

文件64位,将其拖入64位ida中。
Space切换视图
F5生成伪代码

攻防世界pwn新手练习区-hello_pwn攻防世界pwn新手练习区-hello_pwn分析:
通过输入unk_601068来覆盖dword_60106c,使其等于1853186401。

攻防世界pwn新手练习区-hello_pwn
攻防世界pwn新手练习区-hello_pwn
unk_601068在bss段,压入(0x6c - 0x68)的垃圾数据后开始填充dword_60106c,此时压入数据1853186401。
payload=b’a’ * (0x6c – 0x68) + p64(1853186401)

exp

攻防世界pwn新手练习区-hello_pwn

content=1 时打本地,如果出现 flag.txt 则成功;修改为 content=0 ,输入正确的远程地址再运行即可得到flag。

该python文件在我的电脑中文件名为exp.py
终端输入python3 exp.py
下面图片是 content=1时运行截图
攻防世界pwn新手练习区-hello_pwn