国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

淺談前端安全

Cympros / 1365人閱讀

摘要:安全問題的分類按照所發生的區域分類后端安全問題所有發生在后端服務器應用服務當中的安全問題前端安全問題所有發生在瀏覽器單頁面應用頁面當中的安全問題按照團隊中哪個角色最適合來修復安全問題分類后端安全問題針對這個安全問題,后端最適合來修復前端安全

安全問題的分類 按照所發生的區域分類

后端安全問題:所有發生在后端服務器、應用、服務當中的安全問題

前端安全問題:所有發生在瀏覽器、單頁面應用、Web頁面當中的安全問題

按照團隊中哪個角色最適合來修復安全問題分類

后端安全問題:針對這個安全問題,后端最適合來修復

前端安全問題:針對這個安全問題,前端最適合來修復

綜合以上

前端安全問題:發生在瀏覽器、前端應用當中或者通常由前端開發工程師來對其進行修復的安全問題

瀏覽器安全 同源策略
是一種約定,是瀏覽器最核心也最基本的安全功能,限制了來自不同源的document或者腳本,對當前document讀取或設置某些屬性

影響“源”的因素有:host(域名或者IP地址)、子域名、端口、協議

對瀏覽器來說,DOM、Cookie、XMLHttpRequest會受到同源策略的限制

不受同源策略的標簽


參考上圖,我們可以總結,完成一次CSRF攻擊,必須滿足兩個條件

用戶登錄受信任網站A,并且在本地生成Cookie

在不登出網站A的情況下,訪問危險網站B

CSRF本質
CSRF攻擊是攻擊者利用用戶身份操作用戶賬戶的一種攻擊方式
CSRF的防御

CSRF能攻擊成功的本質原因:重要操作的所有參數都是可以被攻擊者猜測到的

解決方案 1、驗證碼

CSRF攻擊過程中,用戶在不知情的情況下構造了網絡請求,添加驗證碼后,強制用戶必須與應用進行交互

優點:簡潔而有效

缺點:網站不能給所有的操作都加上驗證碼

2、Referer Check
利用HTTP頭中的Referer判斷請求來源是否合法
Referer首部包含了當前請求頁面的來源頁面的地址

優點:簡單易操作(只需要在最后給所有安全敏感的請求統一添加一個攔截器來檢查Referer的值就行)

缺點:服務器并非什么時候都能取到Referer

很多出于保護用戶隱私的考慮,限制了Referer的發送。

比如從HTTPS跳轉到HTTP,出于安全的考慮,瀏覽器不會發送Referer

瀏覽器兼容性


關于Referer的更多詳細資料:https://75team.com/post/everything-you-could-ever-want-to-know-and-more-about-controlling-the-referer-header-fastmail-blog.html

3、使用Anti CSRF Token

比如一個刪除操作的URL是:http://host/path/delete?uesrname=abc&item=123

保持原參數不變,新增一個參數Token,Token值是隨機的,不可預測

http://host/path/delete?username=abc&item=123&token=[random(seed)]

由于Token的存在,攻擊者無法再構造出一個完整的URL實施CSRF攻擊

優點:比檢查Referer方法更安全,并且不涉及用戶隱私

缺點:對所有的請求都添加Token比較困難

更多關于CSRF詳細可參考:

CSRF 攻擊的應對之道:https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/

CSRF原理剖析:http://netsecurity.51cto.com/art/200812/102951.htm

維基百科CSRF:https://en.wikipedia.org/wiki/Cross-site_request_forgery

CSRF實例:http://netsecurity.51cto.com/art/200812/102925.htm

需要注意的點:

Token需要足夠隨機,必須用足夠安全的隨機數生成算法

Token應該為用戶和服務器所共同持有,不能被第三方知曉

Token可以放在用戶的Session或者瀏覽器的Cookie中

盡量把Token放在表單中,把敏感操作由GET改為POST,以form表單的形式提交,可以避免Token泄露(比如一個頁面:http://host/path/manage?username=abc&token=[random],在此頁面用戶需要在這個頁面提交表單或者單擊“刪除”按鈕,才能完成刪除操作,在這種場景下,如果這個頁面包含了一張攻擊者能指定地址的圖片,則這個頁面地址會作為HTTP請求的Refer發送到evil.com的服務器上,從而導致Token泄露)

XSRF
當網站同時存在XSS和CSRF漏洞時,XSS可以模擬客戶端瀏覽器執行任意操作,在XSS攻擊下,攻擊者完全可以請求頁面后,讀取頁面內容中的Token值,然后再構造出一個合法的請求
結論

安全防御的體系應該是相輔相成、缺一不可的

3、點擊劫持(ClickJacking) 什么是點擊劫持
點擊劫持是一種視覺上的欺騙手段。攻擊者使用一個透明的、不可見的iframe,覆蓋在一個網頁上,然后誘使用戶在網頁上進行操作,此時用戶將在不知情的情況下點擊透明的iframe頁面。通過調整iframe頁面的位置,可以誘使用戶恰好點擊在iframe頁面的一些功能性按鈕上。
防御點擊劫持:X-Frame-Options
X-Frame-Options HTTP響應頭是用來給瀏覽器指示允許一個頁面能否在