攻防世界pwn新手练习区-when_did_you_born
when_did_you_born
查看基本信息并运行文件
查看文件类型: file when_did_you_born
查看保护: checksec --file=when_did_you_born
运行文件:./when_did_you_born
该文件在我的电脑中的文件名为when_did_you_born
在IDA中分析
文件64位,将其拖入64位ida中。
按Space切换视图
按F5生成伪代码
分析:
所以 输入生日v5 时不能输入1926,我们需要通过 输入姓名v4 这一步骤来修改v5使之等于1926。
进入v4所在栈v4向下填充,当填充长度达到0x20-0x18时开始填充v5,这时填入1926即可。
所以 payload = b’a’ * (0x20 – 0x18) + p64(1926)
exp
当 content=1 时打本地,如果出现 You Shall Have Flag. 则成功;修改为 content=0 ,输入正确的远程地址再运行即可得到flag。
该python文件在我的电脑中文件名为exp.py
终端输入python3 exp.py
下面图片是 content=1时运行截图