CSRF攻擊&&XSS攻擊

CSRF(Cross-site request forgery):跨站請求偽造。
(1)登錄受信任網(wǎng)站A,并在本地生成Cookie。(如果用戶沒有登錄網(wǎng)站A,那么網(wǎng)站B在誘導(dǎo)的時(shí)候,請求網(wǎng)站A的api接口時(shí),會提示你登錄)
(2)在不登出A的情況下,訪問危險(xiǎn)網(wǎng)站B(其實(shí)是利用了網(wǎng)站A的漏洞)。
我們在講CSRF時(shí),一定要把上面的兩點(diǎn)說清楚。
溫馨提示一下,cookie保證了用戶可以處于登錄狀態(tài),但網(wǎng)站B其實(shí)拿不到 cookie。
方法一、Token 驗(yàn)證:(用的最多)
(1)服務(wù)器發(fā)送給客戶端一個(gè)token;
(2)客戶端提交的表單中帶著這個(gè)token。
(3)如果這個(gè) token 不合法,那么服務(wù)器拒絕這個(gè)請求。
方法二:隱藏令牌:
把 token 隱藏在 http 的 head頭中。
方法二和方法一有點(diǎn)像,本質(zhì)上沒有太大區(qū)別,只是使用方式上有區(qū)別。
方法三、Referer 驗(yàn)證:
Referer 指的是頁面請求來源。意思是,只接受本站的請求,服務(wù)器才做響應(yīng);如果不是,就攔截。
XSS(Cross Site Scripting):跨域腳本攻擊。
XSS攻擊的核心原理是:不需要你做任何的登錄認(rèn)證,它會通過合法的操作(比如在url中輸入、在評論框中輸入),向你的頁面注入腳本(可能是js、hmtl代碼塊等)。
最后導(dǎo)致的結(jié)果可能是:
盜用Cookie破壞頁面的正常結(jié)構(gòu),插入廣告等惡意內(nèi)容D-doss攻擊
XSS的防范措施主要有三個(gè):

1、編碼:
對用戶輸入的數(shù)據(jù)進(jìn)行
HTML Entity 編碼。
如上圖所示,把字符轉(zhuǎn)換成 轉(zhuǎn)義字符。
Encode的作用是將
var等一些字符進(jìn)行轉(zhuǎn)化,使得瀏覽器在最終輸出結(jié)果上是一樣的。 比如說這段代碼: <script>alert(1)</script> 若不進(jìn)行任何處理,則瀏覽器會執(zhí)行alert的js操作,實(shí)現(xiàn)XSS注入。 進(jìn)行編碼處理之后,L在瀏覽器中的顯示結(jié)果就是 <script>alert(1)</script> ,實(shí)現(xiàn)了將var作為純文本進(jìn)行輸出,且不引起JavaScript的執(zhí)行。
2、過濾:
移除用戶輸入的和事件相關(guān)的屬性。如onerror可以自動觸發(fā)攻擊,還有onclick等。(總而言是,過濾掉一些不安全的內(nèi)容)移除用戶輸入的Style節(jié)點(diǎn)、Script節(jié)點(diǎn)、Iframe節(jié)點(diǎn)。(尤其是Script節(jié)點(diǎn),它可是支持跨域的呀,一定要移除)。
3、校正
避免直接對HTML Entity進(jìn)行解碼。使用DOM Parse轉(zhuǎn)換,校正不配對的DOM標(biāo)簽。備注:我們應(yīng)該去了解一下
DOM Parse
這個(gè)概念,它的作用是把文本解析成DOM結(jié)構(gòu)。
比較常用的做法是,通過第一步的編碼轉(zhuǎn)成文本,然后第三步轉(zhuǎn)成DOM對象,然后經(jīng)過第二步的過濾。
還有一種簡潔的答案:
首先是encode,如果是富文本,就白名單。
CSRF 和 XSS 的區(qū)別
區(qū)別一:
CSRF:需要用戶先登錄網(wǎng)站A,獲取 cookie。XSS:不需要登錄。
區(qū)別二:(原理的區(qū)別)
CSRF:是利用網(wǎng)站A本身的漏洞,去請求網(wǎng)站A的api。XSS:是向網(wǎng)站 A 注入 JS代碼,然后執(zhí)行 JS 里的代碼,篡改網(wǎng)站A的內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容