Security-testing-cross-site-request-forgery

提供:Dev Guides
移動先:案内検索

クロスサイトリクエストフォージェリ(CSRF)

CSRF攻撃により、認証されたユーザー(被害者)は、被害者のセッションCookieを含む偽装されたHTTPリクエストを脆弱なWebアプリケーションに送信するように強制されます。被害者。

単純な図を使用して、この欠陥の脅威エージェント、攻撃ベクトル、セキュリティの弱さ、技術的影響、ビジネスへの影響を理解しましょう。

csrf

ここにCSRFの古典的な例があります-

  • ステップ1 *-脆弱なアプリケーションは、暗号化なしでプレーンテキストとして状態変更リクエストを送信します。
http://bankx.com/app?action=transferFund&amount=3500&destinationAccount=4673243243
  • ステップ2 *-ハッカーは、攻撃者の管理下にあるさまざまなサイトに保存されている画像にリクエストを埋め込むことで、被害者のアカウントから攻撃者のアカウントに送金するリクエストを作成します-
<img src = "http://bankx.com/app?action=transferFunds&amount=14000&destinationAccount=attackersAcct#"
   width = "0" height = "0"/>

ハンズオン

  • ステップ1 *-Javaスクリプトを画像に埋め込むことでCSRF偽造を実行しましょう。 問題のスナップショットを以下にリストします。

csrf1

  • ステップ2 *-次に、転送を1x1の画像にモックアップし、被害者に同じものをクリックさせる必要があります。

csrf2

  • ステップ3 *-メッセージを送信すると、メッセージは以下のように強調表示されます。

csrf3

  • ステップ4 *-被害者が次のURLをクリックすると、転送が実行されます。これは、burpスイートを使用してユーザーアクションをインターセプトしていることがわかります。 以下に示すように、Getメッセージでそれを見つけることで転送を確認できます-

csrf3

  • ステップ5 *-更新をクリックすると、レッスン完了マークが表示されます。

予防メカニズム

  • CSRFは、URLではなくHTTP要求の本文で送信される非表示フィールドに一意のトークンを作成することにより回避できます。
  • CSRFを保護するために、ユーザーに再認証を強制するか、ユーザーであることを証明します。 たとえば、CAPTCHA。