1. 程式人生 > >前端——安全類

前端——安全類

安全類

一、CSRF:通常稱為跨站請求偽造,英文名Cross-Site request forgery縮寫CSRF

CSRF攻擊原理:

實現CSRF攻擊的兩大因素:

1、網站中介面存在漏洞

2、使用者一定在註冊網站登入過

CSRF防禦措施:

1、Token驗證

2、Referer驗證(存在於HTTP的頭部,頁面來源驗證)

3、隱藏令牌

二、XSS攻擊——cross-site scripting 跨站指令碼攻擊

XSS攻擊Web攻擊中最常見的攻擊方法之一,它是通過對網頁注入可執行程式碼且成功地被瀏覽器執行,達到攻擊的目的,形成了一次有效XSS攻擊,一旦攻擊成功,它可以獲取使用者的聯絡人列表,然後向聯絡人傳送虛假詐騙資訊,可以刪除使用者的日誌等等,有時候還和其他攻擊方式同時實施比如SQL注入攻擊伺服器和資料庫、Click劫持、相對連結劫持等實施釣魚,它帶來的危害是巨大的,是web安全的頭號大敵。

攻擊條件:

1、需要向Web頁面注入惡意程式碼

2、惡意程式碼能夠被瀏覽器成功執行

XSS攻擊方式:反射型、儲存型

反射型:發出請求時,XSS程式碼出現在URL中,作為輸入提交到伺服器端,伺服器端解析後響應,XSS程式碼隨響應內容一起傳回給瀏覽器,最後瀏覽器解析執行XSS程式碼,這個過程像一次反射,故叫做反射型XSS。

儲存型:儲存型XSS和反射型XSS的差別僅在於提交的程式碼會儲存在伺服器端吧(資料庫、記憶體、檔案系統等),下次請求目標頁面時不用再提交XSS程式碼。

XSS防禦措施:

1、編碼——對使用者輸入的資料進行HTML Entity編碼

2、過濾——移除使用者上傳的DOM屬性,如:onerror等

移除使用者上傳的

style節點,script節點,iframe節點等。

3、校正——避免直接對HTML Entity解碼

使用DOM Parse轉換,校正不配對的DOM標籤。

CSRF與XSS的區別:

XSS是向頁面注入JS去執行,在JS函式體裡做它想做的事;CSRF利用本身的漏洞幫你自動執行介面,CSRF依賴於使用者要登入的網站。