早在20世纪80年代初,国外就有人开始讨论缓冲区溢出(Buffer Overflow)攻击。1988年的Morris蠕虫,利用的攻击方法之一就是fingerd的缓冲区溢出,虽然那次蠕虫事件导致6 000多台机器被感染,但是缓冲区溢出问题并没有得到人们的重视。
真正有教育意义的第一篇文章诞生在1996年。当时,Aleph One在Phmck杂志第49期发表的论文详细地描述了Linux系统中栈的结构和如何利用基于栈的缓冲区溢出。Aleph One的贡献还在于给出了如何写执行一个Shell的Exploit的方法,并给这段代码赋予Shellcode的名称。下面列出了近几年一些基于Windows操作系统典型的缓冲区溢出漏洞。据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。
(1)2003年的“冲击波”蠕虫病毒,是利用Windows操作系统的RPC部分在通过TCP/IP处理信息交换时存在多个远程堆栈缓冲区溢出问题引起的,溢出后可执行任意可执行代码。
(2)2004年“Microsoft Windows的JPEG处理时(GDI+)的缓冲区溢出漏洞(MS04-028)”的攻击,溢出后也是可执行任意可执行代码。
(3)2005年又出现针对“Microsoft Windows即插即用缓冲区溢出漏洞(MS05-039)”的攻击,溢出后也是可执行任意可执行代码。(www.daowen.com)
(4)2006年“Microsoft Windows Server服务远程缓冲区溢出漏洞(MS06-040)”。
(5)2007年“Microsoft Windows的DNSRPC缓冲区t益出漏洞(MS07-029)”。
缓冲区溢出攻击技术已经相当成熟,是渗透测试者主要的技术手段。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。