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

資訊專欄INFORMATION COLUMN

淺談前端安全

alexnevsky / 2570人閱讀

摘要:安全問題的分類按照所發(fā)生的區(qū)域分類后端安全問題所有發(fā)生在后端服務(wù)器應(yīng)用服務(wù)當(dāng)中的安全問題前端安全問題所有發(fā)生在瀏覽器單頁面應(yīng)用頁面當(dāng)中的安全問題按照團(tuán)隊(duì)中哪個角色最適合來修復(fù)安全問題分類后端安全問題針對這個安全問題,后端最適合來修復(fù)前端安全

安全問題的分類 按照所發(fā)生的區(qū)域分類

后端安全問題:所有發(fā)生在后端服務(wù)器、應(yīng)用、服務(wù)當(dāng)中的安全問題

前端安全問題:所有發(fā)生在瀏覽器、單頁面應(yīng)用、Web頁面當(dāng)中的安全問題

按照團(tuán)隊(duì)中哪個角色最適合來修復(fù)安全問題分類

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

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

綜合以上

前端安全問題:發(fā)生在瀏覽器、前端應(yīng)用當(dāng)中或者通常由前端開發(fā)工程師來對其進(jìn)行修復(fù)的安全問題

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

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

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

不受同源策略的標(biāo)簽


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

用戶登錄受信任網(wǎng)站A,并且在本地生成Cookie

在不登出網(wǎng)站A的情況下,訪問危險網(wǎng)站B

CSRF本質(zhì)
CSRF攻擊是攻擊者利用用戶身份操作用戶賬戶的一種攻擊方式

CSRF的防御

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

解決方案 1、驗(yàn)證碼

CSRF攻擊過程中,用戶在不知情的情況下構(gòu)造了網(wǎng)絡(luò)請求,添加驗(yàn)證碼后,強(qiáng)制用戶必須與應(yīng)用進(jìn)行交互

優(yōu)點(diǎn):簡潔而有效

缺點(diǎn):網(wǎng)站不能給所有的操作都加上驗(yàn)證碼

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

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

缺點(diǎn):服務(wù)器并非什么時候都能取到Referer

很多出于保護(hù)用戶隱私的考慮,限制了Referer的發(fā)送。

比如從HTTPS跳轉(zhuǎn)到HTTP,出于安全的考慮,瀏覽器不會發(fā)送Referer

瀏覽器兼容性


關(guān)于Referer的更多詳細(xì)資料: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

保持原參數(shù)不變,新增一個參數(shù)Token,Token值是隨機(jī)的,不可預(yù)測

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

由于Token的存在,攻擊者無法再構(gòu)造出一個完整的URL實(shí)施CSRF攻擊

優(yōu)點(diǎn):比檢查Referer方法更安全,并且不涉及用戶隱私

缺點(diǎn):對所有的請求都添加Token比較困難

更多關(guān)于CSRF詳細(xì)可參考:

CSRF 攻擊的應(yīng)對之道: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實(shí)例:http://netsecurity.51cto.com/art/200812/102925.htm

需要注意的點(diǎn):

Token需要足夠隨機(jī),必須用足夠安全的隨機(jī)數(shù)生成算法

Token應(yīng)該為用戶和服務(wù)器所共同持有,不能被第三方知曉

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

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


XSRF
當(dāng)網(wǎng)站同時存在XSS和CSRF漏洞時,XSS可以模擬客戶端瀏覽器執(zhí)行任意操作,在XSS攻擊下,攻擊者完全可以請求頁面后,讀取頁面內(nèi)容中的Token值,然后再構(gòu)造出一個合法的請求
結(jié)論

安全防御的體系應(yīng)該是相輔相成、缺一不可的

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