漏洞挖掘 | 遠程WWW服務支持TRACE請求


允許TRACE方法

漏洞描述

目標WEB服務器啟用了TRACE方法。TRACE方法是HTTP(超文本傳輸)協議定義的一種協議調試方法,該方法使得服務器原樣返回任何客戶端請求的內容(可能會附加路由中間的代理服務器的信息),由於該方法原樣返回客戶端提交的任意數據,因此,可用來進行跨站腳本(XSS)攻擊,這種攻擊方式又稱為跨站跟蹤攻擊(XST)。

風險等級

中、低

漏洞測試

使用TRACE方法請求服務器,查看響應是否正常並且返回請求的內容:

TRACE測試

漏洞危害

  1. 惡意攻擊者可以通過TRACE Method返回的信息了解到網站前端的一些信息,如緩存服務器等,從而為下一步的攻擊提供便利。
  2. 惡意攻擊者可以通過TRACE Method進行XSS攻擊
  3. 即使網站對關鍵頁面啟用了HttpOnly頭標記和禁止腳本讀取cookie信息,那么通過TRACE Method惡意攻擊者還是可以繞過這個限制讀取到cookie信息。

修復建議

  1. 2.0.55以上版本的Apache服務器,可以在httpd.conf的尾部添加:
    TraceEnable off
    
  2. 其它版本的Apache服務器可編輯httpd.conf文件:
    激活rewrite模塊(去掉符號 # ):
    LoadModule rewrite_module modules/mod_rewrite.so
    
    在各虛擬主機的配置文件里添加如下語句:
    # 啟用 Rewrite 引擎
    RewriteEngine On  

    # 對Request中的Method字段進行匹配:^TRACE 即以TRACE字符串開頭
    RewriteCond %{REQUEST_METHOD} ^TRACE  

    # 定義規則:對於所有格式的來源請求,均返回[F]-Forbidden響應
    RewriteRule .* - [F]

注:可以在httpd.conf里搜索VirtualHost確定虛擬主機的配置文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM