研究瀏覽器安全應該學習哪些?

如題,如果想研究瀏覽器安全應該從何入手,且應學點啥


看了前面的回答,都不太深入和不太實際。我也剛剛學瀏覽器安全,中間也是斷斷續續的,請教了不少牛人。簡單談談:

1.了解特權域與XSS的概念

由特權域XSS開始=&>配合一處XSS=&>攻擊payload

那麼首先要了解特權域以及特權域中常出現XSS的地方,推薦黑哥的ppt,具體名稱我忘了,好像在kcon上放出來的。

2.有一定的js代碼審計基礎

有了特權域的XSS,如何將其變成命令執行,就要看特權域中有哪些厲害的api,比如寫本地文件或者直接執行命令。這些需要你有一定的js代碼審計基礎,從源代碼中研究並提取出我們需要的api等等。

3.猥瑣的思路

這個太重要了,上面兩條都離不開這個。建議看看wooyun上二哥(gainover)、梧桐雨的案例,學習瀏覽器安全的猥瑣思路,尤其是二哥的........二哥的js簡直出神入化........

總之,Web安全我感覺好玩的點瀏覽器安全算一個了,還有就是基礎也很重要.......


  • 白帽子講Web安全

  • 安全技術大系:Web前端黑客技術揭秘

  • Web Application Security, A Beginner"s Guide

  • The Tangled Web: A Guide to Securing Modern Web Applications / Web之困:現代Web應用安全指南

  • Hacking Web Apps: Detecting and Preventing Web Application Security Problems

  • The Browser Hacker"s Handbook

  • The Web Application Hacker"s Handbook: Finding and Exploiting Security Flaws / 黑客攻防技術寶典:Web實戰篇


《Web之困:現代Web應用安全指南》瀏覽器安全的書,這本算是最知名的吧


如果是作為瀏覽器開發者,不想使用現成的內核(比如webkit)的話,需要更多的理解瀏覽器的工作原理。

包括:

聯網方面的域名解析,表單提交,DNS等網路層方面的問題;

編譯方面的HTML解析,javascript解析,css解析等一大堆東西;

圖像渲染方面的問題等...

作為對安全感興趣的人來說,個人認為瀏覽器安全問題主要體現在web前端。

而web前端安全問題對於不同瀏覽器內核有不同的表現。

現在常見的內核主要有:

IE為代表的Trident;Firefox為代表的Geckos;Opera為代表的Presto(早已轉投webkit,多謝指正);Chrome為代表的Webkit內核。

國內各種XX安全瀏覽器大部分是webkit內核,其保護瀏覽器安全的方法主要體現在網站域名認證,防釣魚,鎖定主頁等...而有SSL證書的網站通常被瀏覽器認為安全的(據說將來版本的chrome會把所有採用http而不採用https的網站標記為不安全的...),這並不意味著網站就真的安全了,比如在內網利用sslstrip,配合ettercap進行arp欺騙,可以突破經過ssl加密的協議,進行區域網arp嗅探獲得口令等信息。

  • 提到web前端安全,首先便想到XSS。這類攻擊由瀏覽器解析執行,攻擊者提交的腳本便很有可能被瀏覽器解析執行,這類攻擊主要用於盜取cookie,掛馬,釣魚等行為。儘管IE和chrome有一定的防止XSS攻擊的功能,但繞過這些瀏覽器的XSS filter沒什麼太大難度。
  • 其次便是CSRF,即跨站請求偽造。CSRF主要依賴於瀏覽器的同源策略,而且由於cookie不會立即過期,關閉瀏覽器之後會話並不一定真正結束。WEB的身份驗證機制雖然可以保證一個請求是來自於某個用戶的瀏覽器,但卻無法保證該請求是用戶批准發送的。
  • 還有瀏覽器編碼問題,比如對於「&」,有的瀏覽器會對其進行HTMLEncode,而另一些可能不會,曾經webkit內核的瀏覽器下出現過此類DOM XSS漏洞。類似的還有URL編碼、Unicode字符集編碼問題等。
  • 此外還可以利用不同瀏覽器對CSS的解析方式進行攻擊。

  • 針對不同瀏覽器,給JSON數據頁面響應頭設置content-type可以使訪問該頁面時以不同的方式呈現。
  • 還有很多比如瀏覽器第三方插件的安全問題。

HTML5是未來一大趨勢,利用HTML5新特性進行攻擊的案例也數不勝數。比如localStorage獲取信息,而大部分瀏覽器的localStorage是以明文存儲(Opera採用base64加密方式)。

以上僅為一小部分,更多相關漏洞可以參閱 烏雲 和 CVE漏洞信息庫 等網站。

針對移動端瀏覽器尚有很多漏洞發掘空間,比如 獵豹/360/搜狗/百度/遨遊等手機瀏覽器安卓客戶端SOP繞過漏洞(UXSS,可竊取cookie等)

以上為個人整理的一些想法,如有不足,敬請指正。


入手可以看具體一個漏洞的分析和利用方法。

1.學習瀏覽器的工作原理(源代碼、文檔)

2.利用google尋找近年瀏覽器的漏洞利用,邊學習(調試poc,分析補丁)別按按攻擊類型歸類

3.編寫自己的fuzzer

暫時就想到這麼多,繼續學習。。


推薦閱讀:

電網切斷,黑客電影《我是誰:沒有絕對安全的系統》內本傑明切斷電網的可行性?切斷后街區不斷網路的可能性?
請問如何成為入門的黑客宅,不用像美國大片中的黑客那麼牛?
偷人家伺服器上的數據違法嗎?
中國黑客養成記:現在我想做一個好人 這個文章問題出在哪裡?
GeekPwn 2017 有哪些看點?

TAG:GoogleChrome | 網頁瀏覽器 | 計算機 | 黑客Hacker | 信息安全 |