禁用安全功能使Linux容易受到缓冲区溢出的影响

时间:2015-10-24 21:51:22

标签: c linux buffer-overflow

为了使Linux机器容易溢出,我必须使用这些命令

-fno-stack-protector -z execstack -o bug bug.c

exists

在尝试溢出机器之前使用这两个命令的目的是什么?他们禁用哪些安全功能导致缓冲区溢出?

1 个答案:

答案 0 :(得分:4)

  

sudo echo 0>的/ proc / SYS /内核/ randomize_va_space

这是Address Space Layout Randomization (ASLR)。在Windows上,这是通过/DYNAMICBASE/HIGHENTROPYVA开关在每个应用中选择加入。 Linux命令会禁用整个操作系统,因此请务必在完成作业后重新打开它。另请参阅Address Space Layout Randomization in Windows Vista

  

-fno堆叠保护器

这是Buffer overflow protection。在Windows上,通过使用/GS构建来启用它。另请参阅Compiler Security Checks In Depth了解其有用的原因。

  

-z execstack

这是Data Execution Protection。在Windows上,这是通过/NXCOMPAT开关在每个应用程序中选择加入。另请参阅/DYNAMICBASE and /NXCOMPAT

至于你必须禁用这些安全功能的原因,这可能是你作业的重点。

  

在Windows上,还有一种安全机制由/SAFESEH链接器开关控制。有关此内容,请参阅Preventing the Exploitation of Structured Exception Handler (SEH) Overwrites with SEHOP