【前端面試】07 安全問題:CSRF和XSS

本文筆記基於「千古壹號」的GitHub項目:https://github.com/qianguyihao/web

1.考點

  • CSRF
  • XSS
    不會太難,考察基本概念、攻擊方式、防禦措施

2.解決方法

2.1 CSRF

1.基本概念、縮寫、全稱?
CSRF:Cross-site request forgery,跨站請求僞造
2.攻擊原理

  • cookie ( [ˈkʊki] ,儲存在用戶本地終端上的數據)
  • 完成一次攻擊,滿足2個條件:
    (1)登錄受信任網站,並在本地生成Cookie;
    (2)在不登出A的情況下,訪問危險網站B。

3.防禦措施
方法1:Token( [ˈtoʊkən])驗證
(1)服務器發送給客戶端一個token;
(2)客戶端提交的表單中帶着這個token。
(3)如果這個 token 不合法,那麼服務器拒絕這個請求。
方法2:隱藏令牌

  • 把 token 隱藏在 http 的 head頭中。
  • 和方法1類似,只是使用方式不同

方法3:Referer(Refer,[rɪˈfɜːr] )驗證

  • 只接受本站的請求,服務器才做響應

2.2 XSS

1.基本概念、縮寫、全稱?
XSS(Cross Site Scripting):跨域腳本攻擊。

2.攻擊原理
不需要你做任何的登錄認證,它會通過合法的操作向你的頁面注入腳本

3.攻擊方式

  • 反射型:代碼出現在url中,作爲輸入提交到服務器端
  • 存儲型:提交的代碼會存儲在服務器端,不用再提交XSS代碼。

4.防禦措施

  • 編碼
  • 過濾
  • 校正

3.區別

區別1:(概念的區別)

  • CSRF:需要用戶先登錄網站A,獲取cookie
  • XSS:無需登錄

區別2:(原理的區別)

  • CSRF:利用網站A的漏洞,請求網站A的api
  • XSS:向網站A注入JS代碼,篡改網站A的內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章