前端開發常見的安全性處理

一:XSS跨站腳本攻擊javascript

  (1)惡意攻擊者向WBE頁面插入惡意代碼(html標籤,javascript代碼),使用戶在瀏覽網頁時,html惡意代碼被執行,從而達到盜取用戶的cookie信息,會話劫持等行爲。html

  (2)類別
java

    1.DOM xss:文本對象模型,使得DOM能夠直接容許程序和腳本動態的訪問和更新文檔的內容,結構和樣式。不須要服務器解析響應的直接參與,觸發XSS靠的是瀏覽器端的DOM解析,能夠徹底認爲這是瀏覽器的事情。算法

    2.反射型xss:反射型XSS也被稱爲非持久性的XSS,是如今最容易出現的一種XSS漏洞。發出請求時,XSS代碼出如今URL中,最後輸入提交到服務器,服務器解析後在響應內容中出現這段XSS代碼,最後瀏覽器解析執行。瀏覽器

    3.存儲型xss:存儲型的XSS也被稱爲持久性XSS,他是最危險的一種跨站腳本攻擊,相比反射型XSS和DOM型XSS具備更高的隱蔽性,因此危害大,他不須要用戶手動觸發,當攻擊者提交一段XSS代碼後,被服務器接收並存儲起來,當全部瀏覽器訪問某個頁面時都會被XSS,其中最典型的例子就是留言板。安全

  (3)危害服務器

    1.利用虛假輸入表單盜取用戶信息cookie

    2.利用腳本竊取用戶的cookie值。session

 

  (4)防護措施xss

    1.在cookie中設置HttpOnly屬性,使js腳本沒法讀取到cookie信息。(後臺設置)

    2.避免使用eval執行字符串

    3.表達輸入經行驗證,過濾標籤,以及轉義字符。

 二:跨站僞造請求

  (1)原理:經過用戶訪問網站A時所保存的cookie信息,而後再沒退出網站A的狀況下跳轉到網站B,那麼就會將cookie信息攜帶到網站B,而後A就會認爲是它自身在本網站訪問本身的假象。典型的案例就是轉帳。

  (2)本質:CSRF攻擊是攻擊者利用用戶身份操做用戶帳號的一種攻擊方式。  

  (3)解決方法:

    1.驗證碼:跨站轉帳的狀況下建議在轉帳以前開設驗證碼。

    2.Referer Check :利用HTTP請求頭中的Referer字段來檢測當前請求頁面的來源頁面的地址是否合法。

      優勢:在最後給全部安全敏感的請求統一添加一個攔截器來檢查Referer的值。

      缺點:服務器並非何時都設置Referer字段,例如:出於保護用戶隱私的考慮,會限制Referer的發送,HTTPS轉到HTTP,出於安全考慮,瀏覽器不會發送Referer。

    3.在url增長一個token參數做爲隨機數。

      優勢:比Referer方便,同時讓攻擊者沒法再構造出一個完整的url實施CSRF攻擊。

      缺點:要給每個url添加一個字段。

      注意:token必須是足夠安全的隨機數算法,能夠存放在session,和cookie中。儘可能放在表單中,以post方式發送請求。

 

三:點擊劫持

  (1)點擊劫持是一種視覺上的欺騙手段,攻擊者使用一個透明的不可見的iframe,覆蓋在一個頁面上,而後經過調整頁面使剛恰好覆蓋在某個按鈕上,而後點擊觸發事件,跳轉到攻擊者設置的頁面上。

  (2)解決方法:X-Frame-Options

    X-Frame-Options HTTP響應頭是用來給瀏覽器指示容許一個頁面可否在<iframe>,<frame>,<objcet>中展現的標記。

  (3)可選值

    1.DENY:瀏覽器拒絕當前頁面加載任何frame頁面。即便是相同域名的頁面也不容許。

    2.SAMEORIGIN:容許加載frame頁面,可是frame頁面的地址只能爲同源域名下的頁面

    3.ALLOW-FROM:能夠加載指定來源的frame頁面。

相關文章
相關標籤/搜索