<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 14\. Flash Xss 入門 [navigateToURL] > 來源:[14\. Flash Xss 入門 \[navigateToURL\]](http://www.wooyun.org/bugs/wooyun-2010-016512) ## 簡要描述 接下來,我們將講解 Flash Xss。由于烏云及社會各界的白帽子的上報,騰訊目前已經對絕大多數可能存在問題的 Flash 進行了修復。 使得我在尋找真實案例時著實麻煩了不少。但是為了使得本教程足夠完善和系統,我還是很艱難的找出了一些可以參考的例子。例子本 身危害可能不大,但是希望能夠借助例子給新手們描述清楚比較基本的東西。 Flash 的 actionscript 腳本目前網絡上存在 2 種版本,即 2.0 與 3.0,本次教程先以 as3.0 為例。同時教程還會在如何使用搜索引擎搜 索,如何查找關鍵詞及構造利用代碼方面進行詳細的講解。 ## 詳細說明 1\. 首先,第一步,我們需要找到存在缺陷的 FLASH 文件。如何找到這類文件呢?最好的辦法,當然是 GOOGLE 搜索。但是其 實很多人是不太會用搜索引擎。或者知道怎么用,但是不知道該如何搜索關鍵詞。因而教程的開始,我們來說一說,如何搜索關鍵詞。 2\. 基本語句肯定是 `site:qq.com filetype:swf` 意思是,限定域名為 qq.com 文件類型為 FLASH 文件。 3\. 顯然這樣會搜索出很多 FLASH 文件,不利于我們后續的漏洞查找,所以我們需要輸入某個關鍵詞來進一步縮小范圍。這里我列舉一 些尋找關鍵詞的方式。 1\. 已知存在缺陷的 FLASH 文件名或參數名,如:swfupload,jwplayer 等 2\. 多媒體功能的 FLASH 文件名,如:upload,player, music, video 等 3.3 調用的外部配置或數據文件后綴,如: xml, php 等 3\. 前期經驗積累下來的程序員特征參數名用詞,如: callback, cb , function 等 4\. 結合以上經驗,本例使用其中第三條: 我們搜索: site:qq.com filetype:swf inurl:xml 可以找到這個 FLASH ``` http://imgcache.qq.com/liveportal_v1/swf/carousel.swf?v=20101111&dp=http://v.qq.com/doco/pic.xml ``` 5\. 如果你對 FLASH 有一定了解或者你天資聰慧的話,通過以上地址,你或許能猜到這個 FLASH 會調用 http://v.qq.com/doco/pic.xml 這個 XML 文件的數據,為了看看是什么數據,我們可以使用抓包軟件【這里我使用的是 charles web proxy】來看看。 ![image](https://box.kancloud.cn/2016-03-23_56f25042e01cf.jpg) 6\. 我們看看 http://v.qq.com/doco/pic.xml 的內容,對應著 FLASH 來看。 ![image](https://box.kancloud.cn/2016-03-23_56f2504301178.jpg) 7\. 這里我們重點關注的是 xml 里的`<link>`結點。也就是當我們點擊圖片時,會跳轉到 link 所指向的地址。 8.接著我們先說下基礎知識。要實現上面點擊圖片,打開鏈接的功能,在 FLASH 里通常以以下代碼來實現的。 當圖片點擊時執行 函數 A 函數 A 內容如下: ``` //as3.0 版本 navigateToURL(new URLRequest(link), "_self"); //as2.0 版本 getURL(link,"_self"); ``` 其中 link 就是被打開的鏈接。 9\. 但是這里存在一個問題,如果 link 是 "javascript:alert(1)" 那么就可以執行 JS 代碼了。這里的點擊執行代碼的效果類似于網頁里的 ``` <a href="javascript:alert(1)">點我彈出 1</a> ``` 10\. 基于以上基礎知識,我們可以先來反編譯一下騰訊的 FLASH 文件,看看是不是上面這樣的。 這里我用到的反編譯軟件是 actionscript viewer 2009。 把下載好的 FLASH 文件,拖到軟件里,然后把 AS 都保存出來,保存為文本文件。 ![image](https://box.kancloud.cn/2016-03-23_56f250431b3bb.jpg) ![image](https://box.kancloud.cn/2016-03-23_56f25043317a7.jpg) 如上圖,我們可以看到 AS 代碼具有目錄結構,這種是 AS3 的。如果不是這樣目錄的樣子,則是 AS2 的代碼。 由于我們要定位的是使用到 link 的代碼。 我們打開保存的 as 代碼,進行搜索。 可以看到,當點擊圖片時,直接將數據里的 link 作為參數傳遞到了 URLRequest 中。 11\. 既然如此,我們把 http://v.qq.com/doco/pic.xml 給下載下來, 將 xml 文件里的 `<link>` 部分修改一下。 ![image](https://box.kancloud.cn/2016-03-23_56f250434562b.jpg) 12\. 上傳修改后的 pic.xml 到我們自己的服務器。 ![image](https://box.kancloud.cn/2016-03-23_56f250435993f.jpg) 13\. 這樣一來, 騰訊的 http://imgcache.qq.com/liveportal_v1/swf/carousel.swf 就會跨域加載我們的 http://itsokla.duapp.com/pic.xml 文件。 14\. 既然是跨域加載,有必要說點基礎知識。 FLASH 跨域請求的流程大致如下: ![image](https://box.kancloud.cn/2016-03-23_56f250436f441.jpg) 15\. 因而,我們要允許來自 imgcache.qq.com 的 FLASH 文件,訪問我們的 xml 文件才行。 在我們自己網站的根目錄下,放置一個 crossdomain.xml ``` <?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*.qq.com" /> </cross-domain-policy> ``` 16\. 最后,看看我們的效果。點擊圖片時,觸發。 ![image](https://box.kancloud.cn/2016-03-23_56f2504381e55.jpg) ## 修復方案 對 XML 中傳入的 link url 進行正則判斷 或者限制加載第三方網站的 XML 文件
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看