• 【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传


    目录

    一、0x00 前言

    二、基础知识

    1、Flash

    2、crossdomain.xml文件

    3、crossdomain.xml格式

    4、crossdomain.xml相关参数

    三、漏洞利用

    1、方法:

    2、上传漏洞配置文件


    一、0x00 前言

    在很多地方都会见查是否跨域

    比如某些特定的步骤、CSRF、flash跨域劫持等链接



    二、基础知识

    1、Flash

    由于HTML语言的功能十分有限,无法达到人们的预期设计,以实现令人耳目一新的动态效果,在这种情况下,各种脚本语言应运而生,使得网页设计更加多样化。然而,程序设计总是不能很好地普及,因为它要求一定的编程能力,而人们更需要一种既简单直观又有功能强大的动画设计工具,而Flash的出现正好满足了这种需求。

    2、crossdomain.xml文件

    一般在根目录下(在根目录下的配置文件称为“主策略文件”)。

    若在根目录不存在主策略文件,则该域将禁止任何第三方域的flash跨域请求。

    3、crossdomain.xml格式

    1. "1.0"?>
    2. <cross-domain-policy>
    3. <allow-access-from domain="www.xxx.com" />
    4. cross-domain-policy>

    其中www.xxx.com是可信任的域名

    4、crossdomain.xml相关参数

    1、site-control标签(属性permitted-cross-domain-policies)

    1. 属性值:
    2. none: 不允许使用loadPolicyFile方法加载任何策略文件,包括此主策略文件。
    3. master-only: 只允许使用主策略文件[默认值]。
    4. by-content-type: 只允许使用loadPolicyFile方法加载HTTP/HTTPS协议下Content-Type 为text/x-cross-domain-policy的文件作为跨域策略文件。文章来源地址:https://www.yii666.com/article/504083.html
    5. by-ftp-filename: 只允许使用loadPolicyFile方法加载FTP协议下文件名为crossdomain.xml的文件作为跨域策略文件。
    6. all: 可使用loadPolicyFile方法加载目标域上的任何文件作为跨域策略文件
    7. 示例:
    8. <cross-domain-policy>
    9. <site-control permitted-cross-domain-policies="by-content-type"/>
    10. cross-domain-policy>


    2、allow-access-from标签

    1. 属性值:
    2. domain: 指定某IP地址、域或通配符域(任何域)
    3. to-ports: 指定允许访问读取本域内容的socket连接端口范围(如to-ports="1100,1120-1125",也可使用通配符(*)表示允许所有端口)
    4. secure: 指明信息是否经加密传输。当crossdomain.xml文件使用https加载时,secure默认设为true
    5. 示例:
    6. <cross-domain-policy>
    7. <allow-access-from domain="*.baidu.com" secure="true" />
    8. cross-domain-policy>


    3、allow-access-from-identity标签

    该节点配置跨域访问策略为允许有特定证书的来源跨域访问本域上的资源

    1. <allow-access-from-identity>
    2. <signatory>
    3. <certificate
    4. fingerprint="04:ac:……格式的证书"
    5. fingerprint-algorithm="sha-1"/>
    6. signatory>
    7. allow-access-from-identity>

    4、allow-http-request-headers-from标签

    此节点授权第三方域flash向本域发送用户定义的http头

    1. 属性值:
    2. domain: 与allow-access-from中的domain相同
    3. headers: 表明允许发送的http头。可用通配符(*)(以逗号隔开的列表)
    4. secure: 与allow-access-from中的secure相同
    5. 示例:
    6. <cross-domain-policy>
    7. <allow-http-request-headers-from domain="*" headers="*" />
    8. cross-domain-policy>



    三、漏洞利用

    1、方法:

    1、找到任意文件上传点(先测试能否getshell)

    2、若无法getshell(尝试xss)

    3、若无法xss(尝试上传配置文件)

    上传配置文件是我们最后的选择

    2、上传漏洞配置文件

    如下crossdomain.xml文件就存在漏洞

    (尝试上传存在漏洞配置文件到根目录)

    1. "1.0"?>
    2. <cross-domain-policy>
    3. <allow-access-from domain="*" />
    4. cross-domain-policy>

    从*就可以看出存在漏洞了

  • 相关阅读:
    nvm管理(切换)node版本,方便vue2,vue3+ts开发
    网络协议--链路层
    公众号h5授权链接显示redirect_uri域名与后台配置不一致
    全栈开发性能优化基础第六单元日考技能
    苹果设备连接win11开启的wifi热点的断流问题
    猿创征文|【算法】一文吃透常见排序算法
    Unity -- 碰撞的产生与监听 / 碰撞与触发的区别
    第22篇 基础 (二十二)手把手教学 Qt 操作 ini 文件(详解)
    IDEA 使用 Gralde 报错: Cause: zip END header not found
    学术特稿 | 著名书法家项国就:中国古代书法章草美学展现的形式分析
  • 原文地址:https://blog.csdn.net/qq_53079406/article/details/132859748