讀《白帽子講web安全》 ——筆記

Cc❤發表於2021-01-04

第二章 瀏覽器安全

什麼是同源策略?

同源策略,它是由Netscape提出的一個著名的安全策略。

現在所有支援JavaScript 的瀏覽器都會dao使用這個策略。

所謂同源是指,域名,協議,埠相同。

當一個瀏覽器的兩個tab頁中分別開啟來 百度和谷歌的頁面。

當瀏覽器的百度tab頁執行一個指令碼的時候會檢查這個指令碼是屬於哪個頁面的。

即檢查是否同源,只有和百度同源的指令碼才會被執行。

如果非同源,那麼在請求資料時,瀏覽器會在控制檯中報一個異常,提示拒絕訪問。

同源策略的作用:

瀏覽器的同源策略,限制了來自不同源的檔案或指令碼,對當前檔案讀取或設定某些屬性。

瀏覽器提出“Origin(源)”這一概念,來防止瀏覽器的頁面行為發生混亂,不同源的物件無法互相干擾。

當a.com通過程式碼<script src=http://b.com/b.js ></script>載入了b.com上的b.js,但是由於b.js執行在a.com頁面中,所以b.js的源就是a.com而非b.com(對當前頁面而言)

當帶“src”屬性的標籤需要跨站載入時,瀏覽器會發起一次GET請求。瀏覽器會限制其js的許可權,使其不能讀or寫返回的內容。

如果XMLHttpRequest能跨域訪問資源,則會導致敏感資料洩露,從而發生安全問題。

XMLHttpRequest跨域訪問標準:通過目標域返回的HTTP頭來授權是否允許。 方案安全基礎:JS無法控制HTTP頭。

瀏覽器沙箱(Sandbox):

Sandbox設計目的:為了讓不可信任的程式碼執行在一定的環境中,限制不可信任的程式碼訪問隔離區之外的資源。emmmmm,有點像新冠隔離哈哈哈哈哈。

 

Google Chrome 的 Sandbox架構

多程式架構最明顯的好處就是在瀏覽器發生崩潰時,多程式瀏覽器只會崩潰當前Tab頁,對其他頁面沒有影響

2.3惡意網址攔截

對處於“黑名單”的惡意網址進行攔截。常見的惡意網站:一類是掛馬網站(這類網站通常包含惡意的指令碼如JS或Flash,通過利用瀏覽器漏洞來執行shellcode,在電腦中植入木馬);另一類釣魚網站(通過模仿知名網站的相似頁面來欺騙使用者)。

主流瀏覽器開始支援EV SSL證照,以增強對安全網站的識別。

2.4高速發展的瀏覽器安全

今天瀏覽器仍在不斷更新,微軟在IE8中推出的XSS Filter功能,可以修改XSS攻擊的指令碼中的關鍵字,使其攻擊無效,並對使用者彈出提示框。

使用CSP的方法如下,插入一個HTTP返回頭:

X-Content-Security-Policy:policy

其中policy的描述很靈活,比如:

X-Content-Security-Policy:allow 'self' *.mydomain.com

這樣瀏覽器將信任來自mydomain.com及其子域下的內容。

隨著瀏覽器的發展,客戶的瀏覽體驗也越來越好,但隨之而來的是許多看似“友好”的功能可能會導致一些安全隱患

例如許多瀏覽器位址列會對畸形的URL進行處理,www.google.com\abc會被識別為正常的www.google.com/abc

如果這類“友好”的功能被和黑客利用,可能會用於繞過一些安全軟體或模組。

第三章 跨站指令碼攻擊(XSS)

 

相關文章