タグ

csrfに関するrochefortのブックマーク (11)

  • 2022年1月においてCSRF未対策のサイトはどの条件で被害を受けるか

    サマリ2020年2月にGoogle ChromeCookieのデフォルトの挙動をsamesite=laxに変更しましたが、2022年1月11日にFirefoxも同様の仕様が導入されました。この変更はブラウザ側でCSRF脆弱性を緩和するためのもので、特定の条件下では、ウェブサイト側でCSRF対策をしていなくてもCSRF攻撃を受けなくなります。この記事では、デフォルトsamesite=laxについての基礎的な説明に加え、最近のブラウザの挙動の違いについて説明します。 (2022年1月29日追記) 日確認したところ、Firefoxにおけるデフォルトsamesite=laxはキャンセルされ、従来の挙動に戻ったようです(Firefox 96.0.3にて確認)。デフォルトsamesite=lax自体は先行してGoogle Chromeにて実装されていましたが、細かい挙動の差異で既存サイトに不具合が

    2022年1月においてCSRF未対策のサイトはどの条件で被害を受けるか
    rochefort
    rochefort 2022/02/02
    samesite // 2分間ルール
  • RailsのPOSTでCSRF TokenがVerifyできないときに確認したいこと - Qiita

    前提条件 nginxがSSL Terminationをするリバースプロキシである Railsのバージョンが5の状態でrails newをしている 発生する問題 formのPOST時にCan't verify CSRF token authenticity.というエラーが発生する 確認するところ CSRF Tokenがページ内に埋まっているか? nginxにおけるリパースプロキシの設定は間違っていないか? CSRF Tokenがページ内に埋まっているか? Railsで入力フォームを作成するときは、おそらくform_forかform_tagを使うことになると思います。その場合、普通はauthenticity_tokenというhidden fieldが追加されています。 たとえばこれはQiitaの意見を送信するフォームにauthenticity_tokenが埋め込まれている様子です。 またAja

    RailsのPOSTでCSRF TokenがVerifyできないときに確認したいこと - Qiita
  • SPAでのセッション管理とセキュリティ - Qiita

    普通にcookie使えばいいと思います。 loginリクエストもajaxで投げればcookie返ってくるので、何も考えることないかなと。 Cookie 動作イメージは以下の形です。 == サーバ → UA == Set-Cookie: SID=31d4d96e407aad42; Path=/; Domain=example.com == UA → サーバ == Cookie: SID=31d4d96e407aad42 (from https://triple-underscore.github.io/RFC6265-ja.html) ブラウザの状態管理のためのもの。 もちろん主要ブラウザはどこも付いてます。 railsでもplayでもとりあえずこれでセッション管理されています。 secure属性があると、httpsのときだけやりとりされます。 HttpOnly属性があると、jsから読

    SPAでのセッション管理とセキュリティ - Qiita
  • CVE-2016-7401 CSRF protection bypass on a site with Google Analytics の解説

    gistfile1.md CVE-2016-7401 https://www.djangoproject.com/weblog/2016/sep/26/security-releases/ https://hackerone.com/reports/26647 pythoncookie parserが ; 以外もpairsの区切り文字として解釈するので、google analyticsのreferrer経由でsetされるcookieを使ってCSRF tokenを上書き可能だったという問題。 django側でcookie parser自前で実装、python体は直ってないようだ https://github.com/django/django/commit/d1bc980db1c0fffd6d60677e62f70beadb9fe64a 多くのcookie parserは、pairsの区

    CVE-2016-7401 CSRF protection bypass on a site with Google Analytics の解説
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    rochefort
    rochefort 2014/07/25
    対策はstateパラメータを使うことです。OAuth2.0にはstateパラメータというのがあるのですが推奨になっているだけで必須ではありません。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • KULINEのアップデートの件

    先日KULINEがアップデートされたというので使ってみようということで適当なキーワードで検索してみたのだけれど、 こんなページに飛ばされて、初日だからアクセス急増とかでぶっ壊れたのかと思って色々調べてみたらリファラを同一ドメインから送信しないと検索できないっぽくて、なんで検索でリファラ見てんだよと思って問い合わせてみた。 そうしたら「画面遷移してからAPIをPOSTで叩いて検索結果取得してるしCSRF対策でやってるから」という旨の回答が来て、検索するのにCSRF対策とかいらないだろうと、百歩譲っているとしても必須のヘッダじゃないリファラチェックするとか火星に探査機が行く時代にしていいことじゃないだろという旨折り返したら、「開発元(富士通らしい)に聞いたら内部のAPI的な物は全部POSTで、検索するのにCSRF対策必要ないっちゃないけど今後の実装漏れあると困るし一括でリファラもチェックするよ

    KULINEのアップデートの件
    rochefort
    rochefort 2012/10/18
    月480万円で保守する富士通の技術力はほんとしょうもない
  • 開発者のための正しいCSRF対策

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

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

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

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

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

  • Ruby On Rails ピチカート街道 - Rails 2.0・その12(CSRFを勝手に防止) -

    2024.02 « - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - - - » 2024.04 CSRF (Cross-Site Request Forgery) を勝手に防止してくださいます。 CSRF とは簡単に言うと、ある特定のURLがDBに挿入したり更新したりすると仮定します。そして、そのURLにアクセスしまくってDBの値を変えまくることです(だと思う・・・)。 script/generate scaffold した時点で、もう既に対応済みになっていて何もすることはありませんでした。 じゃあ、どこで設定されているか、というと、app/controllers/application.rb をご覧ください。 protect_from

    rochefort
    rochefort 2009/02/01
    役に立ったよ。
  • 1