编写的计算机程序都或多或少有考虑不周全的地方,这个不周全就称为漏洞,只不过这个漏洞可能会带来不同的后果,普通的可以危害很小,甚至没有严重影响,但是级别高的漏洞就有很大的危害,例如可以让机器死机、可以让攻击者控制机器等。举例:针对接收数据缓冲区设计的溢出攻击代码,含有漏洞的机器一旦接到精心构筑的超长数据,除了缓冲区被填充以外,剩余代码就会被填充到了缓冲区外的其他内存地址,一旦进入了没有被保护的数据执行区域,就会被加载执行,此类攻击代码被精心设计过,令执行代码长度刚好落入执行区域,否则攻击就会失败。打过补丁的机器就会对缓冲区重新构筑,超长代码会被拦截丢弃处理,就不会被攻击了。