2013-04-30 16 views
5

最近、私は最近アプリケーションを引き継いだが、最近私たちはappscanを実行し、脆弱とマークされたアイテムを手に入れた。レポートが示唆した修復作業は、悪質な要求を拒否することでした。次の変更は、元の要求に適用された悪意のあるリクエストを拒否する方法

:レポートは、AppScanのが試みた「http://bogus.referer.ibm.com

に設定HTTPヘッダー私は、これは我々がAppScanの走った1回目のフラグが立てられていた、とにコードを置きますurlrefererが提供されているかどうかを確認し、そうであればurlのホストと同じであることを確認し、そうでなければユーザーのセッションを終了してログインページにリダイレクトします。私たちはもう一度appscanを実行し、再びフラグが立てられました。私はこれをどのように処理するか分かりません。

レポートを見ると、偽の参照元に表示され、サーバーは302のステータスで応答し、リダイレクトされ、サーバーが202で応答したログインの要求が入力されます。 Appscanの推論は:

同じリクエストが異なるセッションで2回送信され、同じ応答が受信されました。 これは動的パラメータ(セッション識別子は のCookieでのみ送信される)であるため、アプリケーションがこの問題に対して脆弱であることを示していません。

しかし、応答は常に同じではないでしょうか?チェックが失敗して302に続いて202になると、ユーザーに関係なく、リダイレクトとログインページが表示されます。誰もこれを処理する方法を知っていますか?私は、ユーザーのセッションIDをリダイレクトURLに入れることができると推測しています。そのため、appscanは異なるものとして表示されますが、別の方法が必要であると考えました。

これは、.NET 4のアプリケーションです。ユーザーがセッションオブジェクトで追跡される場合は、フォーム認証が使用されませんでした。

+1

「appscan」とは何ですか? – spender

+0

この私は思う:http://www-01.ibm.com/software/awdtools/appscan/ – Darren

+0

フォーラムのサイトとは異なり、我々は[そう]に「感謝」、または「すべてのヘルプ感謝」、または署名を使用しないでください。 「[ハイ、感謝、タグライン、挨拶を投稿から削除する](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be」を参照してください。 〜から削除された投稿)。 –

答えて

3

設定し、ビューステート・ユーザー・キー、REF:https://security.stackexchange.com/questions/19152/how-does-viewstate-protect-against-csrf これは、それが両方の最新のページ&クッキーへのアクセスを持たずにクエリを送信するために難しくなります。

Throwing an HttpException always sends back HTTP 500 error?

を(あなたも、いくつかの余分な作業を行う500に変わってからそれを維持する必要があるかもしれません)とアプリのスキャンは、彼らが100Sを投げるsignature--性の高い認識を持っている403を返すようにHttpExceptionを使用して、同じ分の例外があります。エラーログのインフラストラクチャの一環として、同じ分に5つの例外を指定した後にキャプチャを表示したり、アプリスキャンでスローされるエラー(たとえば、非常に長いURL、.jspのクエリ.aspxアプリケーション内のファイル)。 appscannerがIDになったら、キャプチャを解決するまで常にエラーページにリダイレクトしてセッションを中毒させたいでしょう。これの欠点は、アプリケーションによって投げられた例外の後に、ユーザーがキャプチャを提示される可能性が低いことです。たとえば、ユーザーがテキストボックスに>を置くとセキュリティエラーが発生します。この機能をすべてのアプリスキャナーに実装したい場合とそうでない場合があります。悪意のあるものだけが組織のインセンティブに依存します。

+0

私はviewstateキーを試します。これは実際には内部的に使用するibmツールからのものであり、外部の攻撃者からのスキャンではありません。ツールとして私はユーザーとしてログインし、URLとそれがページに何かを壊そうとする要求を送信すると信じています。私は報告書をもう一度チェックします。攻撃がセッションのあるユーザーからのものではない場合、それが修正されるかどうかがわかります。 – Paritosh

+0

あなたはすでにこれを理解しているかもしれませんが、問題は、ユーザーがセッションを持っていないということではありません。 CSRF攻撃は正当なユーザーに、通常はXHRを使用してセッション&認証Cookieを含むhttp GETとPOSTを行うように仕向けますが、XHRは直近の要求ページに簡単にアクセスできません。それは複雑な攻撃の一種であり、邪悪な防御には複雑です。フレンドリーなスキャンと悪意のあるスキャンについては、スキャンが簡単で効率的であるということを除いて、すべてのホールをスキャンして修正する理由を理解できませんでした。 – MatthewMartin

関連する問題