研究瀏覽器安全應該學習哪些?
01-22
如題,如果想研究瀏覽器安全應該從何入手,且應學點啥
看了前面的回答,都不太深入和不太實際。我也剛剛學瀏覽器安全,中間也是斷斷續續的,請教了不少牛人。簡單談談: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 | 信息安全 |