(1)缓冲区溢出攻击
缓冲区溢出攻击的原理是向程序缓冲区写入超出其边界的内容,造成缓冲区的溢出,使得程序转而执行其他攻击者指定的代码,通常是为攻击者打开远程连接的ShellCode,以达到攻击目标。近年来著名的蠕虫如Code-Red、SQL.Slammer、Blaster 和Sasser 等,都是通过缓冲区溢出攻击获得系统权限后进行传播。
(2)同步漏洞攻击
这种方法主要是利用程序在处理同步操作时的缺陷,如竞争状态。信号处理等问题,以获取更高权限的访问。发掘信任漏洞攻击则利用程序滥设的信任关系获取访问权的一种方法,著名的有Win32 平台下互为映像的本地和域Administrator 凭证、LSA 密码(Local SecurityAuthority)和Unix 平台下SUID 权限的滥用和X Window 系统的xhost 认证机制等。
(3)格式化字符串攻击
这种方法主要是利用由于格式化函数的微妙程序设计错误造成的安全漏洞,通过传递精心编制的含有格式化指令的文本字符串,以使目标程序执行任意命令。输入验证攻击针对程序未能对输入进行有效的验证的安全漏洞,使得攻击者能够让程序执行指定的命令。