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

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

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

これがCSRFの典型的な例です-

Step 1 −脆弱なアプリケーションが、暗号化なしで状態変更要求をプレーンテキストとして送信するとします。

http://bankx.com/app?action=transferFund&amount=3500&destinationAccount=4673243243

Step 2 −ハッカーは、攻撃者の管理下にあるさまざまなサイトに保存されている画像にリクエストを埋め込むことで、被害者のアカウントから攻撃者のアカウントに送金するリクエストを作成します。

<img src = "http://bankx.com/app?action=transferFunds&amount=14000&destinationAccount=attackersAcct#" 
   width = "0" height = "0" />

ハンズオン

Step 1− Javaスクリプトを画像に埋め込んで、CSRF偽造を実行してみましょう。問題のスナップショットを以下に示します。

Step 2 −次に、転送を1x1画像にモックアップし、被害者に同じ画像をクリックさせる必要があります。

Step 3 −メッセージを送信すると、メッセージは以下のように強調表示されます。

Step 4−被害者が次のURLをクリックすると、転送が実行されます。これは、burpsuiteを使用したユーザーアクションを傍受していることがわかります。以下に示すように、Getメッセージで転送を見つけることで転送を確認できます-

Step 5 − [更新]をクリックすると、レッスン完了マークが表示されます。

予防メカニズム

  • CSRFは、公開されやすいURLではなくHTTPリクエストの本文で送信される非表示フィールドに一意のトークンを作成することで回避できます。

  • CSRFを保護するために、ユーザーに再認証を強制するか、ユーザーであることを証明します。たとえば、CAPTCHAです。