Stack Canary cookie就是在程序进入return instruction前做一个check看看某变量有没有被改写来知道有没有被Buffer overflow 入侵。
破这个的方法就是,如果黑客知道这个变量值多少,他只要在变量值的地方insteaf of padding random thing, but pad 变量的值,这样就可通过checking.
实战:
用户输入用户名 String,假设输入AAAAAA 会显示welcome AAAAAA
如果写bbbAAAA 发现Memory space 还是4096 bytes,
假设我们input一大串String,长度够长会出现Stack cookie corrupted, 表示我们stack overflow攻击被detect了。
判断距离Canary的地方有多少个Byte,然后在那个地方尝试all kinds of 字符直到=canary的值。