<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 首頁 > 電腦資訊 > 網站建設SEO

      常見跨站攻擊的防御教程

      作者:佚名   來源:本站   時間:2018-01-01  點擊:149次

       

      XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由于被黑客用來編寫危害性更大的網絡釣魚(Phishing)攻擊而變得廣為人知。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區溢出攻擊“,而JavaScript是新型的“ShellCode”。

       

      以下是一個惡意js腳本的范例:

       

      下面簡單介紹一下Cross腳本的防御方法:

      大體的思路很簡單,一般XSS攻擊都是程序沒有過濾掉用戶輸入中的惡意js腳本,以致惡意的js腳本被解釋執行。所以我們只需要將用戶輸入字符串進行檢測,去掉標簽,或者轉義'<'字符。

      PHP代碼:

       

      if($_SERVER['REQUEST_URI']) { 
          $temp = urldecode($_SERVER['REQUEST_URI']); 
          if(strexists($temp, '<') || strexists($temp, '"')) { 
              $_GET = shtmlspecialchars($_GET);//XSS 
          } 
      } 
                                                      
      //取消HTML代碼 
      function shtmlspecialchars($string) { 
          if(is_array($string)) { 
              foreach($string as $key => $val) { 
                  $string[$key] = shtmlspecialchars($val); 
              } 
          } else { 
              $string = preg_replace('/&amp;((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', 
                  str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string)); 
          } 
          return $string; 
      }

      當然也可以轉義:
      1、htmlspecialchars() 轉義特別的字符為HTML實體
      •'&' (ampersand) becomes '&amp;'

      •'"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.

      •''' (single quote) becomes '&#039;' only when ENT_QUOTES is set.

      •'<' (less than) becomes '&lt;'

      •'>' (greater than) becomes '&gt;'

      2、htmlspecialchars_decode()將實體轉成HTML代碼,函數1的反函數
      3、 htmlentities()這個是全部轉換html實體,和htmlspecialchars()區別在于,這個函數是轉義全部的字符,而htmlspecialchars()僅僅轉義上面限定的5個特殊字符


      jsp中同樣有轉義函數:

       

      綜論
      XSS攻擊作為Web業務的最大威脅之一,不僅危害Web業務本身,對訪問Web業務的用戶也會帶來直接的影響,如何防范和阻止XSS攻擊,保障Web站點的業務安全,是定位于業務威脅防御的入侵防御產品的本職工作。

      推薦游戲

      換一換
      日韩精品一区二区三区高清