前端安全問題

前端安全問題及解決辦法

xss(Cross-site Scripting)腳本注入攻擊

核心:惡意腳本注入
描述:攻擊者通過在目標網站上注入惡意腳本,使之在用戶的瀏覽器上運行。利用這些惡意腳本,攻擊者可獲取用戶的敏感信息如 Cookie、SessionID 等,進而危害數據安全。

解決方案:
1、打開npmjs.com下載xss插件,引入xss插件之後就沒有任何問題了。
2、將html進行內容轉換,或者將

var HtmlUtil = {
     /*1.用瀏覽器內部轉換器實現html轉碼*/
     htmlEncode:function (html){
         //1.首先動態創建一個容器標籤元素,如DIV
         var temp = document.createElement ("div");
         //2.然後將要轉換的字符串設置爲這個元素的innerText(ie支持)或者textContent(火狐,google支持)
         (temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);
         //3.最後返回這個元素的innerHTML,即得到經過HTML編碼轉換的字符串了
         var output = temp.innerHTML;
         temp = null;
         return output;
     },
     /*2.用瀏覽器內部轉換器實現html解碼*/
     htmlDecode:function (text){
         //1.首先動態創建一個容器標籤元素,如DIV
         var temp = document.createElement("div");
         //2.然後將要轉換的字符串設置爲這個元素的innerHTML(ie,火狐,google都支持)
         temp.innerHTML = text;
        //3.最後返回這個元素的innerText(ie支持)或者textContent(火狐,google支持),即得到經過HTML解碼的字符串了。
        var output = temp.innerText || temp.textContent;
         temp = null;
        return output;
     }
 };

CSRF(Cross-sit request forgery)漏洞

核心:利用用戶身份僞造請求
描述:利用受害者在被攻擊網站已經獲取的註冊憑證,繞過後臺的用戶驗證,冒充用戶對被攻擊的網站發送執行某項操作的請求

解決方案:

1.增加token驗證.因爲cookie發送請求的時候會自動增加上,但是token卻不會,這樣就避免了攻擊

2.Referer驗證。頁面來源的判斷

iframe安全隱患問題

有時候前端頁面爲了顯示別人的網站或者一些組件的時候,就用iframe來引入進來,比如嵌入一些廣告等等。但是有些iframe安全性我們無法去評估測試,有時候會攜帶一些第三方的插件啊,或者嵌入了一下不安全的腳本啊,這些都是值得我們去考慮的。

解決辦法:

1.使用安全的網站進行嵌入;

2.在iframe添加一個叫sandbox的屬性,瀏覽器會對iframe內容進行嚴格的控制,詳細瞭解可以看看相關的API接口文檔。

HTTP劫持

核心:廣告、彈框html注入
描述:當我們訪問頁面的時候,運營商在頁面的HTML代碼中,插入彈窗、廣告等HTML代碼,來獲取相應的利益

本地存儲數據問題

很多開發者爲了方便,把一些個人信息不經加密直接存到本地或者cookie,這樣是非常不安全的,黑客們可以很容易就拿到用戶的信息,所有在放到cookie中的信息或者localStorage裏的信息要進行加密,加密可以自己定義一些加密方法或者網上尋找一些加密的插件,或者用base64進行多次加密然後再多次解碼,這樣就比較安全了。

第三方依賴安全隱患

現如今的項目開發,很多都喜歡用別人寫好的框架,爲了方便快捷,很快的就搭建起項目,自己寫的代碼不到20%,過多的用第三方依賴或者插件,一方面會影響性能問題,另一方面第三方的依賴或者插件存在很多安全性問題,也會存在這樣那樣的漏洞,所以使用起來得謹慎。

解決辦法:手動去檢查那些依賴的安全性問題基本是不可能的,最好是利用一些自動化的工具進行掃描過後再用,比如NSP(Node Security Platform),Snyk等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章