网络通信 频道

劫持数据库实现跨站攻击实例图解

攻击概述

跨站攻击是指入侵者在远程Web页面的HTML代码中插入具有恶意目的的数据,使得用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。正是这种被称为“鸡尾酒钓鱼术”的手段使商务网站的可信度大大降低,因为用户访问的是真正的商务站点,即使再细心也很难想到真实网站也会暗藏杀机。

跨站攻击可能在真实网站上插入一段文字,也可能是偷取浏览者cookie信息的java脚本,更有甚者是植入一段利用IE漏洞的网页木马代码。这种方法与得到webshell后插入木马代码相比,实现起来要简单容易的多。

实现跨站攻击的前提条件,是网页中要存在输入信息过滤不严的地方。在大型非互交型网站中,这种输入点一般不好找,所以直接从表面入手相当棘手。所以我们换个角度考虑,如果网站存在sql注入点的话,那结果就完全不同了。这里说的数据库是针对MSSQL数据库的(当然对mysql等数据库同时有效,不过处理相对更困难些),利用的还是让人厌烦却很有效的SQL注入漏洞,不过不需要admin权限,只要有Update权限就够了,一般Db_owner就有这个权限。我们直接修改数据库中的的信息,使得asp程序在调用数据库时,将修改后的网页木马代码显示在真实网站的网页中。下面就用实例来展示一下攻击全过程。

攻击过程

在浏览台湾游戏橘子站点(http://www.gamania.com)的时候,偶然发现了这个地方可以注入:http://fateasia.gamania.com/turtle/index.asp?sid=E00001。

这样的大站也能注入?于是抱着侥幸的心理拿出看家工具NBSI走一走,猜解出如下信息:

权限是Db_Woner,不言而喻,要想获得webshell首当其冲的方法便是通过Db_Woner的备份权限得到,不过这种方法对大型网站不是很适用,因为过于庞大的数据库使其成功率相对较低。不过,现在我们可以先试试再说,首先用读注册表的方法得到web物理路径:

拿到路径后自然就是backupwebshell了:

我没有研究过cyf的这个工具是如何判断int型和字符型数据的,所以就随手在Url中参数中加了个“''”,自认为是对整型数据的注入。下面我们看看结果如何:

失败,看来常规的攻击不会有什么新的突破,还是应该另谋他法。接下来我仔细的研究了一下网站中“占卜”栏目的网页,看到如下信息:

原来这是和www.fatesia.com合作建的,于是马上ping了一下这两个站点:

很明显,它们是在一个服务器上的。打开这个站点:

网站也挺大的,但同样存在注入点,而且使用的数据库和http://fateasia.gamania.com/是同一个数据库:

文章转载地址:http://www.cnpaf.net/Class/hack/06101110491420703730.html

0
相关文章