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

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

一、0x00 前言

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

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

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

2、crossdomain.xml文件

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

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

 

3、crossdomain.xml格式

<?xml version="1.0"?>
 
<cross-domain-policy>
<allow-access-from domain="www.xxx.com" />
</cross-domain-policy>

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

 

4、crossdomain.xml相关参数

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

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

2、allow-access-from标签

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

3、allow-access-from-identity标签

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

<allow-access-from-identity>
<signatory>
<certificate
fingerprint="04:ac:……格式的证书"
fingerprint-algorithm="sha-1"/>
</signatory>
</allow-access-from-identity>

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

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

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


三、漏洞利用

1、方法:

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


2、若无法getshell(尝试xss)


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


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



2、上传漏洞配置文件

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

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

<?xml version="1.0"?>
 
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
相关文章
|
5月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
222 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
3月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
9月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
227 6
|
5月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
197 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
5月前
|
XML 存储 JSON
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
48 0
|
5月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
1007 0
|
8月前
|
存储 缓存 分布式计算
Hadoop配置文件core-site.xml
【7月更文挑战第17天】
443 2
Hadoop配置文件core-site.xml
|
8月前
|
XML 分布式计算 资源调度
Hadoop配置文件mapred-site.xml
【7月更文挑战第18天】
551 7
|
8月前
|
存储 机器学习/深度学习 分布式计算
Hadoop配置文件hdfs-site.xml
【7月更文挑战第17天】
472 5
|
8月前
|
分布式计算 资源调度 Hadoop
Hadoop配置文件yarn-site.xml
【7月更文挑战第18天】
528 3