タグ

CSRFに関するmonjudohのブックマーク (12)

  • CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった
    monjudoh
    monjudoh 2014/02/19
    『ふつうにWebアプリケーションフレームワークやミドルウェアが提供しているCSRF対策機能を使うと良いです。セッションに関連付いた推測不可能な文字列を生成してフォームに自動で埋め込む、となっているでしょう。』
  • formタグを利用したtoken奪取 - ma<s>atokinugawa's blog

    スクリプトの実行はできない(XSS対策されている)し、tokenは導入されている(CSRF対策されている)のに、tokenを奪取され、不意な操作をされてしまう例というのを1つ、やってみたいと思います! 実証だニャン! http://d.hatena.ne.jp/kinugawamasanyan/20101012/nyan 原理 こういうフォームがあったら、submitボタンを押下した時にtokenの値がA、Bどっちにポストされるでしょうか。 <form action="A" method="post"> <form action="B" method="post"> <input type="hidden" name="token" value="123123123"> <input type="submit"> </form> 答えはAです。 つまり来設置されたフォームより前に別のf

    formタグを利用したtoken奪取 - ma<s>atokinugawa's blog
    monjudoh
    monjudoh 2010/10/13
    『スクリプトの実行はできない(略)し、tokenは導入されている(略)のに、tokenを奪取され、』『本来設置されたフォームより前に別のformタグを挿入可能なら、submitを押下した際のポスト先を変更することができます。』
  • 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アプリケーションの場合、何らかの方法でセッション 追

  • Tomcat7の新機能(CSRFとメモリリーク) - カタヤマンがプログラマチックに今日もコードアシスト

    巷でうわさのTomcat7ですが、新しい機能として Generic CSRF protection Web application memory leak detection and prevention という気になる機能が入っているね、とT2チーム内で話題になっていました。 Tomcatのサイトを見るとバイナリ版配布が開始されていたので、とりいそぎJadってみることにしました。 Generic CSRF protection CSRFについては高木先生などの専門家に解説をまかせますが、要はサイト外からのリクエストによって不正な処理が行われてしまう、というセキュリティホールです。(リンクを押すと、mixiに勝手に書き込まれてしまうとかありましたよね) これを防ぐには、リクエストデータがサイト外からきているかどうかを判定する(=リクエストがサイト内から来ていることを判定する)ことが必要です

    Tomcat7の新機能(CSRFとメモリリーク) - カタヤマンがプログラマチックに今日もコードアシスト
    monjudoh
    monjudoh 2010/07/28
    デフォルトで用意されたServletFilterでCSRF対策。ランダムなtokenを毎回生成しているが、sessionで保持するのが直近1個でないためワンタイムトークンのような不便さはなさそう。
  • http://joshhuckabee.com/jquery-rails-3

    monjudoh
    monjudoh 2010/02/09
    metaタグにtokenの情報を載せておくとhttp://github.com/rails/jquery-ujs がリンククリックを隠しformのsubmitに差し替える際にtokenを突っ込んでくれるようだ。
  • Cross Site Request Forgery protection | Django documentation

    Cross Site Request Forgery protection¶ The CSRF middleware and template tag provides easy-to-use protection against Cross Site Request Forgeries. This type of attack occurs when a malicious website contains a link, a form button or some JavaScript that is intended to perform some action on your website, using the credentials of a logged-in user who visits the malicious site in their browser. A rel

    Cross Site Request Forgery protection | Django documentation
  • CSRF対策は基本? | 水無月ばけらのえび日記

    コミュニティーサイト構築に詳しい専門家は、「CSRF対策は基的なところ。Amebaなうが対策していなかったのは意外だ」と話している。 「CSRF対策は基的なところ」と言われると、発見も対処も容易であるような印象を受けますが、これは少し違和感がありますね。 半年ほど前の話ですが、弊社 (www.b-architects.com)のクライアントが新規のECサイトを立ち上げるにあたって脆弱性診断をしようという話になり、外部の会社に見積もり依頼をしたことがあります。その際、業界では知らない人がいないような大手会社の診断メニューも見せていただきました。 そこで印象的だったのは、標準とされるプランにCSRFの診断が含まれていなかったことです。標準のコースにはXSSやSQLインジェクションの診断が含まれますが、CSRFは「アドバンスド」プランの方にしか含まれていませんでした。普通のサイトではXSSや

    monjudoh
    monjudoh 2009/12/19
    『標準とされるプランにCSRFの診断が含まれていなかったことです』にゃんと
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 高木浩光@自宅の日記 - CSRF対策に「ワンタイムトークン」方式を推奨しない理由

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

    monjudoh
    monjudoh 2008/07/17
    CSRF対策のトークンが"ワンタイム"である必要はなく、セッションIDでも何も問題ない(第三者は知りえないから)という話。
  • クロスサイトスクリプティング(XSS)とCSRFの違い早分かり - ockeghem(徳丸浩)の日記

    昨日の日記で、DK祭りで使われている脆弱性がXSSかCSRFかという問題になった。どうも、XSSとCSRFがごっちゃになっている人もいるように見受けるので、簡単な整理を試みたい。 XSSとCSRFには似た点がある。 どちらも「クロスサイト」という言葉が先頭につく なりすましのようなことが結果としてできる どちらも受動型攻撃である それに対して、もちろん違う点もある。専門家から見れば「似てるも何も、そもそも全然違うものですよ」となるのだろうが、現に混同している人がいるのだから紛らわしい点もあるのだろう。 私思うに、XSSとCSRFの決定的な違いは、以下の点ではないだろうか。 XSSは攻撃スクリプトがブラウザ上で動くが、CSRFはサーバー上で動く このため、XSSでできる悪いことは、すなわちJavaScriptでできることであって、攻撃対象のCookieを盗み出すことが典型例となる。一方、CS

    クロスサイトスクリプティング(XSS)とCSRFの違い早分かり - ockeghem(徳丸浩)の日記
    monjudoh
    monjudoh 2007/12/04
    『クロスサイトスクリプティング(XSS)とCSRFの違い早分かり』
  • 第3回 JSONPでのクロスドメインアクセス | gihyo.jp

    JSONPの動作原理 前回はAjaxに存在するセキュリティモデルであるSame-Originポリシーを紹介し、そのSame-Originポリシーを迂回する方法とセキュリティについて見てきました。また、回避する方法の1つめとしてリバースProxyを用いた方法を紹介しました。リバースProxyを用いた方法ではセキュリティ的な問題点もありましたが、そもそもProxyサーバを用意しなければならないため、この方法は手軽に使うことはできませんでした。 そこで考え出されたのがJSONP(JavaScript Object Notation with Padding)という方法です。 それではまず簡単にJSONPについて説明します。 Ajaxで使われるXMLHttpRequestオブジェクトには前回説明したとおりSame-Originポリシーがありクロスドメインアクセスはできません。一方、SCRIPTタグ

    第3回 JSONPでのクロスドメインアクセス | gihyo.jp
  • 1