Flash應用安全系列 5

2021-12-29 22:04:48 字數 1048 閱讀 9873

qq郵箱對於跨域請求過濾不嚴,可能導致使用者郵件被持久劫持

我們知道,在瀏覽器的安全模型中,同源策略--sop(same origin policy)是最為基礎的一環,它決定了web上的哪些資源是可以被指令碼訪問的,哪些資源則是被拒絕的。

撇開html5中的 access-control-allow-origin頭不說,執行域在a.com域下的指令碼是不能直接訪問到b.com的資源的,而我們所尋找的那些跨站漏洞,正是為了繞過這個sop的限制。但是作為第三方外掛程式在瀏覽器內安裝的flash player,卻破壞了sop,只需要對方的crossdomain.xml執行,乙個b.com的swf檔案就可以讀取到a.com的資源。

現在讓我們來看看qq郵箱的corssdoamain.xml

使用了萬用字元,使得任意qq.com子域下的swf都可以讀取到mail.qq.com的資源。

現在我們要做的就是在*.qq.com下尋找乙個可以上傳swf的地方,由於swf能夠執行js指令碼,因此允許上傳swf檔案相當於允許在上傳域下執行指令碼,所以很少有站點能夠上傳swf檔案,但是允許上傳jpg的地方卻不少。flash player對於swf檔案的字尾名並不敏感,因此我們只需要找到乙個可以上傳jpg且沒檢驗影象檔案合法性的上傳點就可以了。比如這個:act.news.qq.com/show_umodify.php

qq郵箱在設定**的時候會檢驗post過來資料的sid,但是這個sid是附在url中的,很容易通過在傳送到外域的資料報referrer頭被取到。而且我們現在已經可以讀取mail.qq.com上的資料,可以直接讀取mail.qq.com/cgi-bin/login?vt=passport&vm=wsk&delegate_url=得到sid。

除了token,檢測referre頭常被作為防止csrf的另一種手段,經過測試,qq郵箱在這裡也進行了檢測,對於外域傳送過來的資料報直接廢棄,但是對於qq.com子域下傳送的請求,是全部接受的,恰好我們的swf也在qq.com的某個子域下,剛好能滿足這個條件。 

qqmail.csrf.as  

修復方案:

改改crossdomain.xml?再管管referre? 

應用安全系列之一 SQL注入

本系列文章主旨在於介紹一些漏洞型別產生的基本原理,探索最基礎的解決問題的措施,不排除有些語言或者系統提供的安全的api可以更好地更直接地解決問題,也不排除可以嚴格地輸入驗證來解決。根據it研究與顧問諮詢公司gartner統計資料顯示,75 的黑客攻擊發生在應用層。而由nist的統計顯示92 的漏洞屬...

應用安全系列之十七 xQuery注入

本系列文章主旨在於介紹一些漏洞型別產生的基本原理,探索最基礎的解決問題的措施。關於xquery標準的詳細資訊可以參考 這裡只做簡單介紹。xquery語言是用於查詢儲存在xml資料庫的資料的語言,它可以看做是xpath語言的乙個超集。主要用到的xquery的功能包括 還是用員工資訊的例子,employ...

iOS安全系列彙總

知乎專欄 書籍推薦 工具篇構建和部署 your first tweak 總結hack必備的命令與工具 後台daemon非法竊取使用者itunesstore資訊 阻止gdb依附 鍵盤快取與安全鍵盤 使用keychain dumper匯出keychain資料 二進位制和資源檔案自檢 ios7的動態庫注入...