クロスサイトリクエスト偽造

medium Web App Scanning プラグイン ID 98112

概要

クロスサイトリクエスト偽造

説明

クロスサイトリクエスト偽造 (CSRF) は、認証されたユーザーが騙されてリンクをクリックするときに発生し、ユーザーの同意なしにリクエストが自動的に送信されます。

これは、リクエストに CSRF 防止トークンが含まれていない場合に可能になり、リクエストの送信時にリクエストがアクセスされて渡されるたびに生成されます。これは、Web アプリケーションのバックエンドが、リクエストの発信元が正当なユーザーであることを確認するために使用できるものです。

クロスサイトリクエスト偽造に脆弱なリクエストを悪用することには、さまざまな要素が関係しています。

- リクエストは、ある種の機密アクションを実行する必要があります。

- 被害者はアクティブなセッションを持っている必要があります。

- 悪意のあるユーザーが被害者の同意なしにリクエストを送信するためには、被害者にリンクをクリックさせる必要があります。

スキャナーは、認証されたユーザーのみが利用できるリクエストを検出しました。リクエスト内のすべてのパラメーターは既知または予測可能です。したがって、そのリクエストは CSRF 攻撃に対して脆弱である可能性があります。

送信によってパスワードのリセット、ユーザープロファイルの変更、フォーラムへのコンテンツの投稿などの機密アクションが実行されるかどうかをチェックするために、手動検証が必要な場合があります。

ソリューション

認証されたセッションで利用可能な機密フォームに CSRF 対策トークンのサポートを追加することで、アプリケーションを更新します。
ほとんどの Web フレームワークでは、ビルトインソリューションを提供するか、これらのトークンを任意のフォームに簡単に追加できるプラグインを用意しています。最も知られているフレームワーク向けに提供されている可能性のあるソリューションを参考文献で確認してください。

参考資料

http://en.wikipedia.org/wiki/Cross-site_request_forgery

http://www.cgisecurity.com/csrf-faq.html

https://codex.wordpress.org/WordPress_Nonces

https://docs.djangoproject.com/en/1.11/ref/csrf/

https://docs.joomla.org/How_to_add_CSRF_anti-spoofing_to_forms

https://symfony.com/doc/current/form/csrf_protection.html

https://www.drupal.org/docs/7/security/writing-secure-code/create-forms-in-a-safe-way-to-avoid-cross-site-request-forgeries

https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/csrf_paper.pdf

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

https://www.owasp.org/index.php/Testing_for_CSRF_(OTG-SESS-005)

プラグインの詳細

深刻度: Medium

ID: 98112

タイプ: remote

公開日: 2017/3/31

更新日: 2024/6/26

スキャン テンプレート: full, pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 4.9

CVSS v2

リスクファクター: High

基本値: 7.5

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: Medium

基本値: 6.3

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L

CVSS スコアのソース: Tenable

参照情報