1. 程式人生 > >前端常見的攻擊

前端常見的攻擊

script 另一個 其他 銀行 lov 其實在 驗證 你在 被黑

參考:https://segmentfault.com/a/1190000006672214?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly#articleHeader14

1、XSS攻擊

XSS攻擊全稱跨站腳本攻擊,一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入頁面中,這樣當別人訪問到該頁面時也執行了嵌入的代碼進行一些操作。

其實在web前端方面,可以簡單的理解為一種 javascript 代碼註入。詳情例子請看上面的參考鏈接。

1.1、防範XSS攻擊

1、編碼,就是轉義用戶的輸入,把用戶的輸入解讀為數據而不是代碼

2、校驗,對用戶的輸入及請求都進行過濾檢查,如對特殊字符進行過濾,設置輸入域的匹配規則等。

3、使用cookie的HttpOnly屬性,加上了這個屬性的cookie字段,js就無法進行讀寫了。

2、CSRF攻擊

CSRF(跨站請求偽造),是一種對網站的惡意利用。其實就是網站中的一些提交行為,被黑客利用,你在訪問黑客的網站的時候,進行的操作,會被操作到其他網站上(如:你所使用的網絡銀行的網站)。

比如:CSRF攻擊者在用戶已經登錄目標網站之後,誘使用戶訪問一個攻擊頁面,利用目標網站對用戶的信任,以用戶身份在攻擊頁面對目標網站發起偽造用戶操作的請求,達到攻擊目的。比如說你登錄了一個普通網站,然後又打開另一個惡意網站,那個惡意網站就可能會冒充你的身份來進行一些操作。具體例子參考:https://segmentfault.com/a/1190000006672214?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly#articleHeader14、https://www.cnblogs.com/lovesong/p/5233195.html

2.1、防範CSRF攻擊

1、重要數據交互采用POST進行接收,當然是用POST也不是萬能的,偽造一個form表單即可破解

2、使用驗證碼,只要是涉及到數據交互就先進行驗證碼驗證,這個方法可以完全解決CSRF。但是出於用戶體驗考慮,網站不能給所有的操作都加上驗證碼。因此驗證碼只能作為一種輔助手段,不能作為主要解決方案。

3、驗證HTTP Referer字段,該字段記錄了此次HTTP請求的來源地址

4、為每個表單添加令牌token並驗證

3、DNS劫持

DNS劫持又稱域名劫持,是指在劫持的網絡範圍內攔截域名解析的請求,分析請求的域名,只把在要劫持的域名請求名單之外的請求放行,否則返回假的IP地址或者什麽都不做使請求失去響應,其效果就是對特定的網絡不能訪問或訪問的是假網址。

很多的時候,我們的網站不是直接就訪問到我們的服務器上的,中間會經過很多層代理。如果在某一個環節,數據被中間代理層的劫持者所截獲,他們就能獲取到使用你網站的用戶的密碼等保密數據。比如說,我們經常會在各種飯館裏面連一些wifi,此時WiFi就是中間代理,如果這個wifi是黑客所建立的熱點wifi,那麽黑客就可以截獲該用戶收發的所有數據。所以建議網站都使用https進行加密,這樣就算網站的數據能被拿到,黑客也無法解開。

前端常見的攻擊