这道题是一道基本题,正因为它经典,所以需要重点记录一下. 这道题考察格式化字符串泄露canary,然后rop获得libc版本,之后拿到shell.拿到程序之后我们先检查一下保护... 开启了堆栈不可执行和canary保护.接下来ida看一下伪代码吧! main函数中调用了三个函数,我们一个一个点进去看看,先看一下init(). 有点水文章了...第一和函数就是告诉我们说让门尽力泄露libc的版本...来,我们继续看第二个函数! 很明显有一个格式化字符串漏洞,并且format是由我们控制的,这里呢…