在宽字符串条件下的利用:
非常幸运地能够用上这种方法。我们被限制到仅仅可以在一个非常小的内存范围内去寻找跳转字节。我们一直认为正在失去战场,直到发现IIS ISAPI的堆分配的内存范围是0x00aabbcc。这样,我们就开发了一个喷射技术,目的是向堆中压入足够的数据,使得我们所要求的位置上是我们进行跳转时所需的数据。
例如,在Windows2000 SP1下,我们的请求数据在0x0042deaa位置上。因为我们能够达到的最接近的位置是0x00430001(通过在溢出串的结尾处放置C%01,这给我们提供了一线希望,也许可以在请求中加入更多的数据,使得系统分配更多的堆空间,使我们的请求数据更加接近所期望的位置)。
GET /a.ida?[Cx240]=xHTTP/1.1
Host: the.victim.com
eEye:[Cx10,000][shellcode]
现在,我们把EIP改写为0x00430043。通过我们新的,更大的请求包,0x00430043刚好落在我们建立的大缓冲区的里面。这就好象溢出代码中的一个滑板,一直接入到shellcode。
还有一些情况需要注意,利用这种强制堆增长的技术的目的还是要造成一个可利用的内存位置是可控的。事实上可以注意到还有请求数据的4-5份拷贝存在于在内存的不同地方,而且在地址0x00aabbcc的范围内。也就是说,0x00430043也许不是内存中的最好位置。这种攻击方法还有一个潜在的问题:不同的系统可能有不同的利用堆的方法。在eEye公司的内部测试中,注意到堆的使用与使能了哪些ISAPI扩展有关。而且,引起例外的请求被异常处理程序接管时不释放它们的堆的话,有可能导致堆中的某些部分变为不可用状态。这样,原来选中的位置就不能再使用了。对于Windows 2000这不成为问题,因为如果没有成功利用的话它会重新启动,从而提供一个干净的堆使用)。
影响:根据NetCraft的资料,有5.9M个web服务器运行IIS,但是如果把内部网络也考虑在内的话,数量恐怕还要大得多。这些服务器中任何一个,只要是缺省配置就会受此漏洞的威胁。
玩笑:有人可能感到奇怪,为什么这个建议没有了eEye那种传统的幽默?其原因是这已经是eEye的第4个远程系统级漏洞了,玩笑已经枯竭了。
2001年7月17日,eEye公司公布了.ida 红色代码蠕虫分析报告。在eEye公司公布了.ida漏洞的一个月之后,发生了利用.ida漏洞的、席卷全球的红色代码风暴。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx。
2001年8月5日,eEye公司公布了.ida红色代码II的蠕虫分析报告。红色代码II不并是红色代码的变种,完全是.ida漏洞的另一个利用程序。
2002年3月8日,eEye公司公布了WindowsShell的缓冲区溢出漏洞。Windows Shell披露了一些功能,使开发者可以编写他们自己的URL处理器。例如,ICQ、AIM、MS Conference、IRC、WindowsMedia Player和Outlook/Express都安装了自己的URL控制器,使得它们能够通过URL接收功能请求。例如,我们可以写一个定制的URL控制器“eeye”,那么,任何人,在任何时候提交一个请求“eeye://data”,都会使得data被传递给处理URL“eeye”的控制程序。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-31484-5.html
更惶论与倭相较了
他说的不是指人类