燈明日記 このページをアンテナに追加 RSSフィード

ごあいさつ

燈明日記へようこそ!!

燈明日記の主なテーマは、以下の通りです。

そして、燈明日記へ来られたのも『私』と『あなた』の何かのご縁です。なので、どうぞごゆっくりご覧下さい!


2010/4/25(日)

[] WEB脆弱性CSRF(クロスサイト・リクエスト・フォージェリ)とは?

普通、Webページの入力項目に対して入力をして、書き込みを押すと、その入力データがサーバーに送られます。

たとえば、このWebページで、入力をしないで、悪意のあるページにアクセスしたとします。


すると、それだけで悪意のある入力データがサーバーへ送られる可能性があるのです。

そして、このような攻撃をCSRF(クロスサイト・リクエスト・フォージェリ)と言います。


たとえば、確認のページが、以下のようになっていたとします。

<form action="commit.php" method="post">
<input type="hidden" name="new_name" value="脆弱 太郎">
<input type="hidden" name="new_address" value="大阪府">
<input type="submit" name="back" value="戻る">
<input type="submit" name="commit" value="実行">
</form>

このときに、実行を押さず、以下のような悪意のページにアクセスしたら…。

<form action="http://○○/commit.php" method="post" name="f1">
<input type="hidden" name="new_name" value="いぱくん">
<input type="hidden" name="new_address" value="東京都">
</form>
<script>document.forms['f1'].submit();</script>

アクセスしただけで、submit()が実行されて、脆弱 太郎・大阪府でなく、いぱくん・東京都が書き込みされてしまうのです。


これ、mixiミクシィ)のような会員制のサイトでは、自分のIDで悪意の第三者に書き込みがされてしまうのです。

当然、その書き込みが、不正送金、商品購入、退会処理の場合があるわけです!


CSRF対策としては、使用者と開発者では以下があります。


◆使用者としてのCSRF対策

とにかく、会員制のサイトにログインしたら、ログアウトするまではサイト以外のページにアクセスしない。


◆開発者としてのCSRF対策

更新ページで、秘密情報挿入やRefererチェック等で、なりすましを厳しくチェックします。


具体的な対策は、以下を参照してください。


尚、本記事のサンプルは、上記URLを大変参考にさせて頂きました。問題があればコメント欄でご指摘ください。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証