漏洞挖掘 | 遠程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肯定虛擬主機的配置文件。cookie

相關文章
相關標籤/搜索