タグ

sessionとsecurityに関するclavierのブックマーク (9)

  • セッション管理の要注意点 - Qiita

    Webアプリを開発するに当たって、「自分でセッションを書きたい」なんて思う人はおそらく1%もいないでしょう。とはいえ、標準で備わっているセッション機能に問題や機能不足があって、手を入れざるを得なくなる、という場面も多々存在してしまいます。ここでは、セッションまわりでよく問題になる部分について触れてみましょう。 そもそも、セッションとは Webアプリにおけるセッションは、 接続ごとに固有の識別子(セッションID)を割り当て、その接続を使った通信のたびにセッションIDを送受信する セッションIDと紐付ける形でデータを持って、アクセスごとに値を読み出す。 データが書き変われば、書き戻す。 というような流れで、「接続ごとにデータを保存する」ということを実現しています。 セッションとCookie 上の1にあるような「通信のたびにセッションIDを送受信する」ために使われるのがCookieです。ただ、C

    セッション管理の要注意点 - Qiita
  • PHPのセッションIDは暗号論的に弱い乱数生成器を使っており、セッションハイジャックの危険性がある : DSAS開発者の部屋

    下記の文章は、PHPのセッションIDに対する攻撃についてFull Disclosure MLに2010年に投稿された文章を和訳したものです。訳者の意見としては、攻撃の成立条件は極めて厳しく、そこまで深刻度は高くないと考えています。 とはいえ、疑似乱数列への攻撃がどのように行われるのか、その可能性を示す文章は比較的珍しいもののように思います。暗号論的に安全な疑似乱数とは何か、なぜ必要なのかといった内容を間接的に教えてくれる面白い文章だと感じましたので、今回翻訳してみました。 (以下、原文の和訳です) 原文:http://seclists.org/fulldisclosure/2010/Mar/519 Advisory (c) 2010 Andreas Bogk <andreas () andreas org> Product:PHP Version:5.3.2 以降 脆弱性の種類:暗号論的な

    PHPのセッションIDは暗号論的に弱い乱数生成器を使っており、セッションハイジャックの危険性がある : DSAS開発者の部屋
  • Rails SessionにCookieStore使った時の問題点 - OAuth.jp

    今日 @mad_p さんからRT来てたこのツイートに関して、ちょっと調べたのでまとめときます。 Security Issue in Ruby on Rails Could Expose Cookies http://t.co/JlsXVEn4rZ — Ruby on Rails News (@RubyonRailsNews) September 25, 2013 前提条件 Railsではデフォルトでsessioncookieにのみ保存して、DBなりmemcacheなりのserver-side storageには何も保存しません。 これがCookieStoreとか呼ばれてるやつです。 この場合のsession cookieは、Railssession object (Hash object) をMarshal.dumpしてそれに署名を付けたtokenです。 rails 4では署名付ける代

  • セッションID管理は結局どうすれば良いのか?

    (Last Updated On: 2018年8月18日)脆弱性やセキュリティ対策について技術的な話ばかりしていたので「それで結局PHPのセッション管理どうすれば良いの?」と思われた方も多いと思います。簡単にまとめます。漏れや追記した方が良い事などがあったらご指摘ください。 session_regenerate_id()の使い方(セッションID再生成) ログイン処理時・ログアウト処理には最初にsession_regenerate_idを呼ぶ。 定期的にsession_regenerate_idを呼ぶ。間隔が短いほど低リスク。 session_regenerate_idはtrueオプション(古いセッションデータ削除)を付ける。 session_regenerate_idでtrueオプションは付けない。その代わりに再生成した時点のタイムスタンプを古いセッションデータに記録し、数分後からそのセッ

    セッションID管理は結局どうすれば良いのか?
  • セッションアダプションがなくてもセッションフィクセイション攻撃は可能

    大垣(@yohgaki)さんと、セッションアダプション脆弱性が「重大な脅威」か否かで論争を続けています。 大垣さん:第25回 PHPのアキレス腱 ── セッション管理徳丸:PHPSession Adoptionは重大な脅威ではない大垣さん:PHPのセッションアダプション脆弱性は修正して当然の脆弱性議論がかみ合わないので、twitterで「ブログ読みました。サンプルも動かしました。問題は分かるのですが、セッションアダプションがないPHPだと、何が改善されるのかが分かりません。教えて下さい」とツイートしたところ、大垣さんがブログで返信下さいました。 大垣さん: セッションアダプション脆弱性がないセッション管理が必要な理由これを読んでかみ合わない理由が分かりました。大垣さん、ありがとうございます。以下大垣さんのブログの末尾を引用します。 脱線しましたが、何が改善されるのか?結論は ログイン時に

    セッションアダプションがなくてもセッションフィクセイション攻撃は可能
  • PHPセッションアダプションをスクリプト側で修正する方法

    (Last Updated On: 2018年8月13日)PHPのスクリプトを使ってアダプティブなPHPセッションをアダプティブにしない方法を紹介します。 このブログで紹介していたかどうか覚えていないですが、セッションアダプション対策としてsession_regenerate_id()が導入された時に議論・紹介されているので知っている方も多いと思います。(というより、PHPerの常識ですよね?) まずはセッションアダプションの原理と対策の復習をしておきます。 原理: 未初期化のセッションIDを受け入れる 対策: 初期化済みセッションIDのみ受け入れる session_regenerate_id()は新しいセッションIDを生成して新しいセッションクッキーを作成して、セッションデータを保存するようになっています。session_regenerate_id()を呼んだだけでは、なんらかの方法で複

    PHPセッションアダプションをスクリプト側で修正する方法
  • 大規模 Web サービスでログインを長期間保持するには SESSION は使わず Cookie とデータベースだけで実装する | ウェブル

    先日ペコリンという Web サービスを公開したのですが、これが初めての WordPress との複合会員向けサービスだったためか、ログインが途中で切れたり、記事投稿時のリダイレクトがかかるタイミングなどで SESSION が切れてしまうことがありました。 しかし Twit Delay では長期的にログインが保持されていたり、mixi とかではログイン時間を指定できたりするので、なんとかできるものだろうと考えていたら Twitter で教えてもらいましたのでまとめておきます。 SESSION だけを使ったログインの保持では長期ログインは不可 私は今までログインの保持は以下のようにしていました。 1 2 3 4 5 <?php ini_set('session.gc_maxlifetime', 60*60*24); ini_set('session.gc_divisor', 10000); s

  • 「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...

    タイトルが長くて略称があれば知りたい感じの「安全な Web アプリケーションの作り方」を暇を見つけて読んでいます。今まであいまいなままだった部分を順を追って説明してくれるので、当に助かります。Web アプリ作りの初心者は卒業したかなーという人は必ず目を通しておくと良いと思います。 Cookie を用いたセッションについて復習 「HTTP はステートレスで」とかいう話はよく聞きますが、じゃあどうやってセッション管理するのがいいの?って話をよく考えると体系的に聞いたことがなかった!というわけで、こので文字通り体系的に学び直すことができました。 その中でも、「セッション ID の固定化」という話題はちゃんと分かってなかった部分があったので、こちらのサイトを参考に PSGI なアプリケーションを作ってみました(僕の書いたアプリ自体はその他の脆弱性に溢れていますがw)。コードはエントリの最後に。

    「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...
  • PHPのSession Fixation問題

    (Last Updated On: 2006年10月24日)PHPのセッション管理はセッションの固定化(Session Fixation)に脆弱であることは広く知れらていると思っていました。先日、php-users(ja)のMLに「Hardened PHPプロジェクトのStefanさんのパッチにSQLite Sessionモジュール用のセッションセーブハンドラパッチを追加したパッチを公開しました」と投稿しました。しかし、ダウンロード数等から推測するとセッションの固定化のリスクが正しく認識されていないのではないかと思えます。 セッション固定化のリスクを分かりやすく説明するには具体的な攻撃のシナリオを紹介した方がわかり易いのでいくつか説明します。以下の説明はデフォルト状態のPHPインストールでSession Fixation対策を行っていないのPHPアプリケーションに対して可能な攻撃の一例です

    PHPのSession Fixation問題
  • 1