タグ

csrfに関するimai78のブックマーク (7)

  • CSRF脆弱性対策 - monjudoh’s diary

    CSRF対策のtokenはセッションIDで良い セキュリティ的にワンタイムトークン>セッションIDではない。 という話が、この辺の記事に書かれています。 高木浩光@自宅の日記 - クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法 高木浩光@自宅の日記 - CSRF対策に「ワンタイムトークン」方式を推奨しない理由, hiddenパラメタは漏れやすいのか? 肝はこういう事のようです tokenは外部のサイトから知り難い(実質知り得ない)ものでないといけない セッションIDはcookieに格納される document.cookieは自ドメインのものと親ドメインのものしか見れない→外部サイトで動かすJavaScriptからは参照できない セッションIDは『暗号学的に安全な擬似乱数生成系で生成されているはず』(引用) 推測も事実上できない 補足すると、セッションIDを使用したCSRF対

    CSRF脆弱性対策 - monjudoh’s diary
  • 高木浩光@自宅の日記 - クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法

    ■ クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法 「クロスサイトリクエストフォージェリ」がにわかに注目を集めている。古く から存在したこの問題がなぜ今まであまり注目されてこなかったかについて考 えているところだが、引越しやら転勤やらでいまひとつ日記を書く時間がない。 しかし、 @ITの記事などのように混乱させる解説も散見されるので、一点だけ対策 方法について書いておくとする。 クロスサイトリクエストフォージェリ――Cross-Site Request Forgeries (CSRF)を防止する簡潔で自然な解決策は以下のとおりである。 前提 ログインしていないWeb閲覧者に対するCSRF攻撃(掲示板荒らしや、ユーザ登 録を他人にさせる等、サイト運営者に対する業務妨害行為)はここでは対象と しない。 ログイン機能を持つWebアプリケーションの場合、何らかの方法でセッション 追

  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
  • hata's LABlog: CSRF対策 with JavaScript

    JavaScript を使った CSRF 対策の方法として、以前 Kazuho@Cybozu Labs で紹介されました。 CSRF 対策 w. JavaScript CSSXSS に対して脆弱でない CSRF 対策とはどのようなものか、という議論が続いているようですが、JavaScript を用いてよいのであれば、簡単な対策手法が存在すると思います。 ここでさらに一歩進めて、既存の FORM 要素に onsubmit 属性、および hiddenフィールドを直接追加せずに、JavaScript ファイルを1つインクルードすることにより、既存アプリケーションの書き換えをさらに少なくする方法を紹介したいと思います。 以下の JavaScript ファイルをHTMLの最後でインクルードする方法です。 fight_csrf.js sessid_name = ""; scripts = docume

  • 開発者のための正しいCSRF対策

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

  • CSRF - クロスサイトリクエストフォージェリ

    ■CSRF - クロスサイトリクエストフォージェリ CSRF - クロスサイトリクエストフォージェリ SpecIII - CSRF - クロスサイトリクエストフォージェリから引用させて頂きます。 CSRFの概略 CSRFはCross Site Request Forgeriesの略です。恥ずかしながら私は最近こういったこういった攻撃方法があることを知りました。日頃のアンテナの低さがバレますね。 CSRFはサイトに対する正規のユーザーの権限を利用した攻撃です。あるサイトのある処理を行うページに正規のユーザーを誘導し、強制的に望まない処理を発生させます。 具体的には記事の編集や削除といった機能を持つページのURLをダミーのリンクに埋め込んで踏ませたり、imgタグのsrcとして指定して知らず知らずのうちにアクセスさせます。特に後者の例ではユーザーが全く気がつかぬうちに攻撃が完了します。攻撃の結果

    CSRF - クロスサイトリクエストフォージェリ
  • こめんと(2006-01-25)

    ■ [Security] hidden field に session ID を入れる CSRF 対策方法に対する反論に対する反論 ああ、禅問答のようなタイトル。 前から、「おさかなラボ」なるページで 高木浩光氏の推奨するCSRF対策は安全でない、との主張が 展開されていたので注目していたのだが、最近↑のページの再反論がでて、やっと僕の中では結論がでた感じ。 で、結論は、「やっぱり彼の主張は反論になってない」でよさそう。 正直、再反論の主張を見て、思ったような内容じゃなくてちょっとがっかり。 彼はずっと、「hidden フィールドはキャッシュから漏洩する」と主張していたので、 きちんと対策していてもそういうことが起こる状況想定を何か持っているのかと期待していたのだが、 再反論での主張は「たとえ Pragma: no-cache していても、cache のディスクに残る可能性はあるから駄目だ

  • 1