web-dev-qa-db-ja.com

ApacheでのTrace / Trackメソッドの意味

Apacheを実行しているホストに対してNessusを使用して脆弱性スキャンを実行すると、予期される結果の1つは常に「HTTP TRACE/TRACK Methods Allowed」になります。この結果のベースCVSSは4.3のみですが、常に修正することをお勧めします。修正は簡単で、プッシュバックを受けたことがない。

このようなものを開いたままにすることの実際の影響は何ですか?

11
Scott Pack

HTTP TRACEメソッドは、基本的に、応答のすべてのヘッダーとともに要求を応答します。 Cookieヘッダーも応答に含まれます。セッションCookieには httpOnly フラグが必要です Session Hijacking 攻撃を防止します。このフラグは、JavaScriptからCookie値へのアクセスをブロックします。基本的にこれにより、攻撃者がWebサイトのXSSの欠陥を悪用しても、セッションCookieの値がわからないため、乗っ取ることはできません。

ただし、WebアプリケーションサーバーでTRACEが有効になっている場合、攻撃者は単に送信できます。ターゲットサーバーへのXMLHttprequest(AJAX)。ブラウザはCookieをリクエストに添付し、サーバーはそれらを応答としてエコーします。攻撃者のJSコードが応答を受け取り、セッションを乗っ取ることができます。

この脆弱性はクロスサイトトレースと呼ばれ、この ホワイトペーパー で説明されています。

ただし、この脆弱性が発見された2003年以降、多くのブラウザはTRACEメソッドを使用したリクエストの送信を単に許可していませんでした。また、 XMLHttpRequestの仕様 は現在TRACEメソッドを許可していません。現在ブラウザーがTRACEの送信を許可する具体的な結果はありません。最も近い一致は この記事 です。

しかし、それでもなお、おそらくいくつかの古いブラウザーが存在します-そして、Flash、Silverlight、Javaなどの他のプラグインは、ブラウザーからCookieを受け取り、それらをTRACEの送信に使用する可能性があります。そのため、クロスサイトトレースに対して脆弱でないことを確認するための唯一のオプションは、無効にすることです。そして、それも簡単です-- ApacheではTraceEnable off を使用するだけです.

14

JavaScriptはこれを使用して、http要求ヘッダーにアクセスできます。これにより

  • "httpOnly"の使用により、スクリプトアクセスなしのフラグが設定されたCookieへのアクセス
  • http基本認証資格情報

これらの攻撃は同じOriginポリシーの影響を受けますが、Java、Flash、ActiveX、VbscriptでのSOPエクスプロイトと組み合わせて、任意のドメインに適用できます。

このトピックには良い ホワイトペーパー があります。

tldr:単独では悪用できませんが、他の脆弱性と組み合わせてリスクをもたらします。

5