593249217
总版主
总版主
  • 注册日期2010-11-25
  • 发帖数385
  • QQ593249217
  • 火币969枚
  • 粉丝282
  • 关注1
  • 优秀斑竹奖
  • 特殊贡献奖
  • 幽默大师奖
  • 社区明星
阅读:4152回复:0

网站和数据库分离的入侵技术

楼主#
更多 发布于:2010-11-26 16:19
前言:在我们入侵的过程中,很多人会遇到这种情况,拿到一个sa权限或是db_owner权限的注入点,但是数据库和web数据是两台分离的服务器,也就是没有在同一台服务器上。有些是sa权限的注入点,我们当然可以直接执行命令,开了3389,但这时候有人直接用网址的ip去连接,怎么连接不上呢?明明用户是建好了的。有的遇到一个db_owner权限的注入点,想通过差异备份得webshell,可找了半天找不到目录,这是为什么呢?

总结:
带着疑问步入今天的话题,我们常常遭遇web和数据库服务器数据分离的情况,这种情况大至有以下以种:
1. Sa权限的注入点,可以执行命令,但连接不上netstat –an列出来的端口。
2. Sa权限的注入点,不能执行命令,但可以列目录。
3. db_owner权限的注入点,可以列目录。
4. db_owner权限的注入点,不能列目录。
针对上面的问题,我们大致说一下应对的方法,然后结合一个实例进行说明具体的拿服务器权限的过程。

像这种数据库与web分离的情况下,首先我们尽可能的拿到数据库服务器的权限,因为我们一般是通过找到网站的注入点着手的。如果是sa权限的注入点,可以执行命令,不能连接所开放的端口,这种情况下就是服务器处于内网之中,通过一个内网ip与web文件相连接,我们需要通过内网转发来登录数据库服务器。这中间涉及到down.vbs下载lcx.exe,上传注册表文件开3389等细节不详说了。

如果是sa权限的注入点,不能执行命令,我们可以试试nbsi中的oacreate来执行,或是能列目录找数据库服务器上是否存在web来首先得到一个webshell再进一步提权。

对于db_owner权限的注入点,这种权限比较低,可以试一下db_owner低权限执行命令,或是列下数据库服务器上是否存在web服务,先得到一个webshell进一步提权,剩下的就只有原始的猜解表段和字段,通过找主站后台来进一步突破了。

实例
下面的例子是帮朋友血印拿一个美国排名比较靠前的一个华人站点总结出来的,有必要写出来与大家分享。我们先看一下大致情况如图:

从上图中我们可以看到,这是一个主站的页面,还有很多分站,如“游戏中心”、“交友”、“聊天室”等。主站是整合的dvbbs7.1 sql版的,常规漏洞是没有的,有一个blog是oblog的,血印叫我帮拿这个站的时候就说他在网上搜了一下,oblog存在多个漏洞,如“读本地任意文件漏洞”、“导出日志注入漏洞”,他希望从这里着手。

我便在网上搜了一下这两个漏洞的相关信息,既然已找到入口,先从这里去试试看。先看了一下user_help.asp?file=conn.ASP读网站的conn.asp,这里要注意的是代码里过滤了asp,所以把conn.asp的asp后缀改为大写的,最好用firefox,是读到一些信息,如下图

这里可以获得一些有用信息:'Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName SqlDatabaseName = "sqlbbs" SqlPassword = "860755" SqlUsername = "sa" SqlLocalName = "192.168.1.1",可以得知mssql的帐号和密码,可是很明显mssql只对内开放的,是一个内网ip。先将这个信息收集起来,找找它的数据库服务器看是否支持外网连接。

分析了一下主站,telnet ip 1433 还有3389等端口,和想像的一样,主站只开了80端口,那么这里我们可以猜测到数据库和服务器应该是分离的,并只在内网支持连接。其实这样的大站不用想也应该是这样设置的。

喜欢0 评分0
多一分钟时间学习,就多一份技术!
游客

返回顶部