find_flag
# 题目复现 ——[深育杯 2021] find_flag
pie 与 canary 同时开启,并且有格式化字符串。
# 检查程序:
保护很全面。
可以看的出,在第一处有格式化字符串漏洞。
# IDA 分析:
看了一下 mian 函数,将函数重命名,pwn 是我们有漏洞的地方。
可以看到 gets 函数可以进行栈溢出,但是有 canary 保护,所以我们需要泄露 canary,可以利用格式化字符串去泄露 canary 并覆写在栈上。
发现 backdoor。但是开了 pie,我们应该无法利用后们,但是好在只读变量(const 修饰的)和字符串变量放入 rodata...
more...