Canary主要用于防护栈溢出攻击。我们知道,在32位系统上,对于栈溢出漏洞,攻击者通常是通过溢出栈缓冲区,覆盖栈上保存的函数返回地址来达到劫持程序执行流的目的。 Stackcanary保护机制在刚进入函数时,在栈上放置一个标志canary,然后在函数结束时,判断该标志是否被改变,如果被改变,则表示有攻击行为发生。 一,实验源码 文件名:Canary.c 命令