[ホーム] > [サイバー攻撃大辞典 トップ] > [クロスサイトリクエストフォージェリ(CSRF)]


作成日:2020/09/18

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

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


Webアプリケーションにログイン済みのブラウザに対して、偽装したリンク等やボタンをクリックさせ、意図しない機能を実行させる。あるいは情報漏えいに結び付くような通信を実行させる。(クライアント側に情報を保存するクッキーなどの弱点を狙う攻撃)
以下のような、ブラウザより自動ログオンする仕組みのWebアプリケーションが攻撃対象となる。
・クッキーにログオン情報を記録
・BASIC認証、ダイジェスト認証でログオン
・SSLによるクライアント認証

cookieが有効な場合など、善意のページでユーザ認証の仕組みがあってもパスしてしまうという特徴がある。


可能)



攻撃例


【事例1】
Webアプリケーションに関して、退会用のcgi プログラムが以下に存在するとする。

http://www.example.co.jp/cgi/taikai.cgi

このリンクを全く無関係の悪意のサイトにリンクとして作成する。ユーザがこのリンクをクリックし、かつ別途このWebアプリケーションにログオン済の場合(クッキー等を使用)、ユーザに意図せず強制的に退会処理が実行されてしまう。


【事例2】
(1)攻撃用のWebページを作成
(2)このページに善意のWebページ上のCGIへリンクを行う。
(3)攻撃用のWebページにユーザを誘導し、偽装により上記のCGIを実行させる。



対策


・処理実行ページにはPOST メソッドでアクセスする設計とする。(ただしgetではなくpostを使用しても根本的な解決とはならない。)。処理ページの直前のページの「hidden」フィールドに秘密情報を自動で挿入し、処理ページではその値が正しいことを確認する。確認できない場合には、ダイレクトにページへ移動したか、偽造されたリンクより移動したと判断し処理を拒否する。
・退会などの重要な処理の場合は、再度パスワードの入力を求める。
・ブラウザ側はWebアプリケーション終了後にはログアウトを実行することを心がける。
・退会など重要な処理を行った場合は、確認のメールを送付する。
(*)refererはによるチェックに関しては、ユーザによってはreferer送信をオフにしてい場合があり、その場合は正常なリクエストまで拒否してしまう。
・パスワード変更処理ページでは、必ず変更前のパスワードを要求する。
・GOCHAを使用してユーザ認証するのはもっとも有効な対処と言われている。(同時にbotによる掲示板書き込みなども回避が可能)







[ホーム] > [サイバー攻撃大辞典 トップ] > [クロスサイトリクエストフォージェリ(CSRF)]


本サイト内掲載されている情報は、誰もその正当性は保証しません。独自の調査により判明した事項を記載しており、内容に誤りがある可能性があります。
内容により発生したいかなる損害は誰も補償しません。自己責任で参考として閲覧してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) securitychecklist.net 2015 - 2020