程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 使用HTTP Headers 防御WEB攻擊

使用HTTP Headers 防御WEB攻擊

編輯:更多關於編程

       再次加載頁面,便會彈出一個警告框

    Web攻擊 HTTPHeaders 網頁漏洞

      在FireFox中進行同樣的測試,成功執行。

    Web攻擊 HTTPHeaders 網頁漏洞

      現在將X-XSS-Protection頭的值修改為1,再次嘗試。

      header("X-XSS-Protection: 1");

      你能夠輕松體會到已經成功開啟了X-XSS-Protection。

      HTTP/1.1 200 OK

      Date: Sun, 12 Apr 2015 14:54:42 GMT

      Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8y DAV/2 mod_perl/2.0.8 Perl/v5.20.0

      X-Powered-By: PHP/5.6.2

      Expires: Thu, 19 Nov 1981 08:52:00 GMT

      Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

      Pragma: no-cache

      Set-Cookie: PHPSESSID=8dfb86b13ec9750d1f1afdfc004f5042; path=/

      X-XSS-Protection: 1

      Content-Length: 820

      Keep-Alive: timeout=5, max=100

      Connection: Keep-Alive

      Content-Type: text/html; charset=UTF-8

      再次在漏洞頁面執行JavaScript,腳本不會執行。進入Chrome的控制台,看看發生了什麼事

    Web攻擊 HTTPHeaders 網頁漏洞

      從上面的控制台信息中,我們可以得知腳本沒有得到執行。

      header("X-XSS-Protection: 1");

      上面這個頭沒有添加其他的參數,僅僅只是阻止腳本的執行。

      我們可以添加一些其他參數,比如:

      header("X-XSS-Protection: 1; mode=block");

      這時再次測試,浏覽器會阻止腳本執行,並且返回一個空白頁。

    Web攻擊 HTTPHeaders 網頁漏洞

      下面為HTTP頭信息

      HTTP/1.1 200 OK

      Date: Mon, 13 Apr 2015 09:59:22 GMT

      Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8y DAV/2 mod_perl/2.0.8 Perl/v5.20.0

      X-Powered-By: PHP/5.6.2

      Expires: Thu, 19 Nov 1981 08:52:00 GMT

      Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

      Pragma: no-cache

      Set-Cookie: PHPSESSID=729f2f716310ccfe353c81ced1602cf0; path=/

      X-XSS-Protection: 1; mode=block

      Content-Length: 846

      Keep-Alive: timeout=5, max=100

      Connection: Keep-Alive

      Content-Type: text/html; charset=UTF-8

      盡管在一些主流浏覽器(IE,Chrome,Safari)中可以完美實現。但在FireFox中並不支持這個頭,所以我們仍然可以看到彈出警告框

    Web攻擊 HTTPHeaders 網頁漏洞

      總結

      所以,X-XSS-Protection頭應該用於深度防御。由於它無法完全保護網站,因此開發者必須確保他們有其他一些手段來進行防護。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved