在用户模式下利用堆栈溢出漏洞时如何绕过堆栈金丝雀?

时间:2016-04-15 09:16:58

标签: linux stack-overflow exploit

在linux中,有很多方法可以绕过除金丝雀之外的安全机制(如NX,ASLR)。实际上,我发现堆栈canary是由Linux内核在/arch/arm/include/asm/stackprotector.h/boot_init_stack_canary()函数中生成的。随机数最后由extract_entropy函数生成,并且它是相关的对于环境噪声,如键盘,中断的时间间隔。

在利用堆栈溢出漏洞时,有没有办法绕过canary安全机制?

1 个答案:

答案 0 :(得分:1)

一般来说,击败金丝雀的技巧是使用正确的值。通常,可以使用information leak在将缓冲区溢出到堆栈之前获取正确的值,或者在某些情况下再次启动进程,可以brute force正确的值。