作者:
殺戮
·
2013/08/28 15:03
0x00 背景
嗯,長短短要求我寫一篇關於瀏覽器安全的文章,所以我出現了,求大神不吐槽,本人渣技術。
這篇文章很多地方借鑑了黑哥Kcon和於暘hitcon的PPT。
0x01 簡介
如何看待瀏覽器安全,總之就是戰場大小的問題。有多少功能,就有多少攻擊面。緩衝區溢位什麼的是高富帥的東西,好好當屌絲,別看了。
什麼是功能,比如為了使用者體驗加上的功能,比如歷史記錄,瀏覽器外掛,偵錯程式..........比如瀏覽器本身功能導致的問題,CSS所能達到的偽造,高許可權的DOM,位址列的各種協議等等。
0x02 如何學習
如何學習這方面的知識,說實在的,瀏覽器安全比較冷門,別指望有坑貨會為這方面寫書。只能丟一些連結出來:
http://code.google.com/p/browsersec/
http://www.unicode.org/reports/tr36/
http://ha.ckers.org/weird/
http://kotowicz.net/absolute/
主要的還是看自己的猥瑣程度,只要能達到看見妹紙能往XSS方面聯想那你就無往不利了。
0x03 基礎
攻擊面:
瀏覽器本身
危險的DOM操作SUCH AS WooYun: 關於IE頁面欺騙漏洞
CSS 的偽造 SUCH AS 透過CSS偽裝狀態列等。。
位址列的協議 SUCH AS WooYun: Safari location汙染漏洞
擴充套件功能
外掛安全 SUCH AS WooYun: 傲遊瀏覽器本地域突破(瀏覽器外掛風險)
歷史記錄 SUCH AS WooYun: 獵豹瀏覽器儲存xss(本地域許可權)
擴充套件功能 等等....................
漏洞利用
命令執行:
特權API : WooYun: 360安全瀏覽器遠端程式碼執行漏洞
緩衝區溢位: http://www.2cto.com/Article/201308/238149.html 充數的 不要在意
資訊探測:
探測歷史記錄
本地檔案
0x04 找到奶糖
瀏覽器的本質是為了方便使用者瀏覽網頁,所以我們的攻擊程式碼最終都是存在與網頁上的,我們要攻擊一個瀏覽器,要看瀏覽器如何處理我們的程式碼,火狐的firebug曾經爆出過瀏覽器命令執行, 漏洞的成因就是firebug提取網頁內容時過濾不嚴謹,導致可以在特權區域呼叫特權API執行程式碼。
Such As : Chrome
我們先確定一個突破點,我們把注意力放在谷歌外掛上。
我們確定一個外掛,我們已經發現它對網頁內容進行提取。
外掛提取了 title 和 Url 我們構造一個頁面
POC:
#!html
"><iframe src=http://drops.wooyun.org ></iframe><a
很早的時候谷歌就意識到了外掛的安全問題並且加了防範,所以在這個特權區域執行js比較困難。這裡只是打個比方,說明下瀏覽器處理網頁內容造成的危害。
比如歷史記錄造成的問題。
Such As: 360瀏覽器
輸入網址
http://hao.360.cn/#"><script>alert(document.domain);</script>
檢視歷史記錄
同樣也是對網頁內容的抓取,同時還有很多地方存在安全問題,比如偵錯程式。
哥幾個高抬貴手啊,我這個還有點用,就不說內容了。
0x05 奶糖和琥珀
如何找到漏洞,要注意的是注意瀏覽器中的每一個點。
一般命令執行的方式
確定特權域 --> 尋找特權域的XSS --> 檢視可呼叫的API --> 編寫 exp --> 攻擊
這個流程我們來走一遍
打個比方說,我們要攻擊傲遊瀏覽器。
確定特權域
這是一個傲遊的特權區域,我們先確定這個頁面對網頁進行怎麼樣的抓取。
我們點一下 加號 可以看到這些 ,我們可以判定 它對我們經常訪問的title進行了提取。
假設它並沒有對title進行過濾。我們構造網頁
POC:
#!html
<title><script>alert(document.domain);</script></title>
現在我們簡單檢視下有什麼高許可權的API可以呼叫。
透過審查這些API我們可以抽取出高許可權的API來進行攻擊。
0x06 有過的漏洞?
– CVE-2002-0189
– CVE-2002-1187
– CVE-2002-1688
– CVE-2003-1328(MS03-004)
– CVE-2005-0054(MS05-014)
– CVE-2006-3643(MS06-044)
0x07 結尾
嗯。。。。其實還有一些要點,第二篇再說吧,好累 睡覺去了,改天我要捅死短短。
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!