1 Sql2 mssql 远程溢出工具 ------------------------------------------------------------------------------------------------- 首先,我给大家介绍一下SQL溢出漏洞。在2003年1月25日,互联网上出现了一种新型的蠕虫病毒——“2003蠕虫王”,此病毒的危害性远远超过了曾经肆虐一时的“红色代码”病毒。如果感染该蠕虫病毒后网络带宽大量占用,最终导致网络瘫痪。该蠕虫病毒就是利用 SQL server 2000 的解析端口 1433 的缓冲区溢出的漏洞,对其网络进行攻击的。当时,由于“2003蠕虫王”病毒具有极强的传播能力,在亚洲、美洲、澳大利亚等地迅速传播,造成了全球性的网络灾害。 此蠕虫病毒攻击微软 windows操作系统下的SQL server 2000 服务器,受影响的系统包括: Microsft SQL server 2000 sp2 Microsft SQL server 2000 sp1 Microsft SQL server 2000 desktop engine Microsft SQL server 2000 这种大规模的攻击是利用了microsoft 送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是 TCP).但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,恶意黑客利用此漏洞可以在远程机器上执行自己准备好的恶意代码。 病毒的具体做法是发送包内容长度 376字节的特殊格式的udp包 2 到SQLserver 服务器的1433端口,利用sql server漏洞执行病毒代码,根据系统函数 GetTickCount产生的种子计算伪ip地址,向外部循环发送同样的数据包,造成网络数据拥塞,同时本机cpu资源99%被占用,本机将拒绝服务。 接下来,我们就来演示一下溢出的过程,首先要先扫描一下我们要攻击的对象,看对方是否有SQL server 2000 服务。这个扫描呢,不一定是非得要扫描软件,还可以通过一些其他的方法来测试: 1. 用 telnet 连接 1433端口,数据库默认的端口是 1433,若 1433端口没有开放则说明 sql server 2000 没有安装,若 1433开放则说明 sql server 2000 已经安装。 测试端口没有开放示意图,出现连接失败说明这个端口没有开放。 测试端口开放示意图,出现一个空的界面,说明端口是开放的。 3 2. 用nc 测试端口是否开放,以下为端口没有开放。 开放端口示意图 以上两种是可以探测sql server2000 是否安装,当然也可以用扫描软件也完成。 现在我们已经确定对方的主机已经装了 sql server 接下来就是工具来溢出。 要用到的工具有 sql2.exe n...