首先打开环境,下载附件
然后在虚拟机里nc连接一下,显示如下
让我们猜数,但是随便输入一个数之后程序会退出,那我们检查一下附件
用64位ida打开
如果v2==11.28125,那么就会执行cat/flag
将浮点数11.28125转化为十六进制数41348000,通过输入v1的值将41348000溢出给v2,因为float类型数值长度是4,所以需要用p32()进行打包
exp如下
flag=NSSCTF{21e12e29-02b4-465f-88ae-ca45cef2a979}
首先打开环境,下载附件
然后在虚拟机里nc连接一下,显示如下
让我们猜数,但是随便输入一个数之后程序会退出,那我们检查一下附件
用64位ida打开
如果v2==11.28125,那么就会执行cat/flag
将浮点数11.28125转化为十六进制数41348000,通过输入v1的值将41348000溢出给v2,因为float类型数值长度是4,所以需要用p32()进行打包
exp如下
flag=NSSCTF{21e12e29-02b4-465f-88ae-ca45cef2a979}