Firefox/chrome等FTP域内权限限制不严,可通过XSS遍历网站目录并获取源码。

漏洞概要

缺陷编号:WooYun-2013-024902

漏洞标题:Firefox/chrome等FTP域内权限限制不严,可通过XSS遍历网站目录并获取源码。

相关厂商:firefox、chrome等

漏洞作者:爱梅小礼

提交时间:2013-05-31 23:40

公开时间:2013-05-31 23:40

漏洞类型:非授权访问/认证绕过

危害等级:低

自评Rank:2

漏洞状态:未联系到厂商或者厂商积极忽略

Tags标签:

漏洞详情

披露状态:

2013-05-31: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-05-31: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

浏览器在FTP域内的CSRF问题,虽然遵守了同源策略,但不代表解决了所有问题。“可通过XSS遍历网站目录并获取源码”的环境要求有些苛刻,理论意义大于实际意义。

详细说明:

只在IE9、firefox、chrome上做了测试,除IE之外,其他都同通过。首先明确一点,浏览器在任意协议下,不论是http(s)、File还是FTP、UNC、MHTML、Jar协议,遇到html扩展的文件都会进行渲染,当中的javascript同样会执行。再看FTP下的权限问题:当使用FTP协议渲染某个女HTML文件时,这个文件伪造的请求可获得指定目录列表,也有权限读取任意指定路径的文件内容。

如果目标环境满足如下条件,那么你可以使用这种方式遍历网站目录或者获取指定源码。1.管理员使用FTP管理网站2.网站允许你上传html文件,或者有存在dom xss的html文件。将你要读取的文件或目录写入payload.html(要想把获取的信息传到自己的服务器上只需多加几行代码即可,这里不再赘述),上传到网站中,假设你也能确定它的ftp路径:ftp://**.**.**.**/upload/payload.html上传跨域用的xss.html到网站目录中:xss.html<iframe src=ftp://**.**.**.**/upload/payload.html></iframe>假设上传后的路径为 http://**.**.**.**/upload/xss.html诱骗管理员访问 http://**.**.**.**/upload/xss.html最好的情况是管理员打开xss.html的同时,它也在登陆FTP或者会话未超时,再或者浏览器有记住ftp密码的功能,这样你便可以直接达成你的目的。如果不满足上述情况,浏览器就会弹出FTP的登陆框,除非遇到极品管理员顺手输入了密码,否则payload.html不会执行.那么我们可以做什么?你可以在xss.html中写入

来进行钓鱼,骗他输入密码,当然成功率不敢保证。还有种条件下也可使用这种方式,便是你得到了管理员FTP密码,但FTP server进行了访问控制,只有管理员的IP可以连接到,那么你可将xss.html修改为():<iframe src=ftp://username:passworld@**.**.**.**/upload/payload.html></iframe>其他步骤不变。承载着你一切猥琐梦想的Payload将在管理员的浏览器中静默的执行。

漏洞证明:

这是Chrome和firefox通过上述代码获取了当前的FTP目录

这是firefox获取了指定文件的内容,chrome的就不截图了

有朋友给我说这算不上是浏览器的漏洞,我不置可否。XSS算浏览器的漏洞吗?当然不算,那浏览器为什么要推XSS过滤器?何况IE已经注意到这个问题了,它的错误提示会告诉你“权限拒绝”。不管它是不是漏洞,它确实是存在的。[email protected]2013.5.31 夜

修复方案:

你猜

漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

评价

  1. 2010-01-01 00:00 xsser 白帽子 | Rank:152 漏洞数:17)

    洞主,你上一个uc漏洞得到了1000¥奖金,请注意查收 :)

  2. 2010-01-01 00:00 黑匣子 白帽子 | Rank:66 漏洞数:12)

    学习了

  3. 2010-01-01 00:00 爱梅小礼 白帽子 | Rank:79 漏洞数:12)

    @xsser 看到了,平常老婆管的严,这次总算能攒下点私房钱。感谢党国感谢xsser。