タグ

CSRFに関するtakeshiyakoのブックマーク (5)

  • 高木浩光@自宅の日記 - CSRF対策に「ワンタイムトークン」方式を推奨しない理由

    水色の四角は画面を表し、白抜き実線枠の四角はボタンを表す。 これを、Webアプリという実装手法を選択する場合に特化すると、図2のような遷移図が描ける。 実線矢印はブラウザが送信するHTTPのrequest(ヘッダおよび、POSTの場合はボディを含む)を表し、黄色の丸がサーバ側での1アクセスの処理を表し、点線がその処理結果を返すHTTPのresponse(ヘッダおよび、HTML)を表す。responseの上の文はHTMLの内容を説明するものである。黄色の丸の中の文は処理内容の説明であり、ここから複数のresponse矢印が出ている場合、処理の結果によって遷移先の画面が異なる場合であることを表し、破線の白抜き四角がその分岐の条件を概説している。 この図で例に用いているのは、ECサイトやblogサービスなどに見られる典型的な「登録個人情報変更」の機能である。「メインメニュー」画面の「登録情報変更

  • ワンタイムトークンをハッシュ関数で処理する意味はある? | 水無月ばけらのえび日記

    更新: 2008年10月29日 「PHPでのセキュリティ対策についてのメモ (note.openvista.jp)」。なかなか良くまとまっていると思いますが、CSRFの話で少し気になった点が。 第三者が知り得ない文字列(ユーザIDやワンタイムトークンなど)をハッシュ関数(md5関数やsha1関数)を複数回用いて擬似乱数化した文字列をフォームに埋め込んでおき、サーバ側で照合することで、リクエストが利用者の意図した動作かどうかをチェックする 以上、PHPでのセキュリティ対策についてのメモ クロスサイトリクエストフォージェリ(略称:CSRF) より ※強調は引用者による。原文では<span class="weaken">でマーク付けされている ※2008-10-29追記: 引用した部分は既に修正されています。 「疑似乱数化」ってなんでしょう……。「疑似乱数」は良く聞きますが、「疑似乱数化」は耳慣

  • ワンタイムトークンは不要では (#913853) | 正しいCSRF対策、してますか? | スラド

    金床氏の提案する対策(「正しい対策その1: ワンタイムトークンを正しく使用する方法」)は、主に次の二つから成ります。リクエスト1とかレスポンス1とかの意味は金床さんのページ [jumperz.net]を参照してください。 リクエスト1を POST にする(リクエスト1がGETだったらサーバーはエラー等を返すようにする) ワンタイムトークンを使用する。詳しくは、 (a) 処理1でワンタイムトークンを生成する。 (b) レスポンス1に含まれるフォームにトークンを hidden フィールドとして追加する。 (c) 処理2では来の処理(日記にデータを追加する等)の前に、 cookie として送られてきたセッション ID と hidden フィールドとして送られてきたトークンの組み合わせが正当であることを確認する 1は CSSXSS 脆弱性の悪用を防ぐために必要です。金床氏自身もまず、アプリケーシ

  • ワンタイムトークンの危険 - かみしろめも

    CSRF対策の一つにワンタイムトークンを発行する形式がある。 しかし単純に実装するだけでは以下の方法で破られてしまう危険性がある。 1). ログイン画面にワンタイムトークンがあると想定する。 <input type="hidden" name="__token" value="asfas5j54pXxh"> 2). 攻撃者はログイン画面と全く同じページを別のサーバ等に作成し PHP等のプログラムでデータを取得しtoken情報を得る。 3). 取得したtoken情報を使用してデータを送信する。 単純にtoken情報だけの一致でチェックを行うと、これだけで通ってしまう可能性があります。

    ワンタイムトークンの危険 - かみしろめも
  • 開発者のための正しいCSRF対策

    著者: 金床 <anvil@jumperz.net> http://www.jumperz.net/ ■はじめに ウェブアプリケーション開発者の立場から見たCSRF対策について、さまざまな情報が入り乱れている。筆者が2006年3月の時点において国内のウェブサ イトやコンピュータ書籍・雑誌などでCSRF対策について書かれている記事を調べた結果、おどろくべきことに、そのほとんどが誤りを含んでいたり、現実的 には使用できない方法を紹介したりしていた。そこで稿ではウェブアプリケーション開発者にとっての当に正しいCSRF対策についてまとめることとす る。また、採用すべきでないCSRF対策とその理由も合わせて紹介する。 ■あらゆる機能がターゲットとなりうる ウェブアプリケーションの持つ全ての機能がCSRF攻撃の対象となりうる。まずこのことを認識しておく必要がある。 Amaz

  • 1