タグ

sessionに関するk-holyのブックマーク (12)

  • PHP/「ページの有効期限切れ」対策 - Glamenv-Septzen.net

    id: 29 所有者: msakamoto-sf 作成日: 2005-07-10 23:28:13 カテゴリ: PHP Web [ Prev ] [ Next ] [ PHP ] 特にIE系でよく見られる「ページの期限切れ」画面。これを発生させないためにはどうすればよいのか、現在は少しGoogleで検索するだけで実に様々な対策方法が蓄積されている。だが、そもそも「ページの期限切れ」とはいったい何を示しているのか?いったいこの画面はユーザーに何を訴えているのだろうか? 今回はPHP言語に限定して、この現象を可能な範囲その原因を追及し、抜的対策と巷間にあふれる対策方法の是非を検討する。最終的に必要となった知識はHTTPのRFC2616のキャッシュ機能およびPHPのext/session/session.cのソースコードとなった。 「ページの有効期限切れ」が発生するスクリプト・発生しないスクリ

  • 間違いだらけのHTTPセッション管理とその対策

    (Last Updated On: 2018年10月12日)HTTPセッション管理はWebセキュリティの中核と言える機能です。Webセキュリティの中核であるHTTPセッション管理に設計上のバグがある事は少なくありません。今回のエントリはPHP Webアプリ開発者ではなく、主にWebフレームワーク側の開発者、つまりPHP体の方に間違いがあるという話しです。Webアプリ開発者の回避策も紹介します。 まずセキュリティの基として「入力のバリデーションを行い、正当な入力のみを受け入れる」があります。しかし、PHPに限らず多くのセッション管理機構は当たり前の「入力のバリデーションを行い、正当な入力のみを受け入れる」を行っていません。セッションIDの再生成(リセット)も不完全な物が多いと思います。 参考: 知らないと勘違いする「合成の誤謬」の罠 開発者は必修、SANS TOP 25の怪物的なセキュリ

    間違いだらけのHTTPセッション管理とその対策
    k-holy
    k-holy 2014/02/23
    セッションID変更時に古いデータを即削除してはいけないケースは見落としてた。非同期での認証時には気をつけないと…
  • 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開発者の部屋
    k-holy
    k-holy 2014/01/07
    アップロード一時ファイル$_FILES['userfile']['tmp_name']の名前を使い続けたりレスポンスに含めてはいけないということか / ちなみにPHP5.4からはsession.entropy_file=/dev/urandomがデフォルトになってますよ
  • php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log

    前回、php のセッションID と エントロピーソース で書いたとおり、php5 では、セッションID の生成アルゴリズムを設定によってある程度カスタマイズできます。 session.entropy_file と、session.entropy_length については前回説明したとおり、セッションID を生成する上でのエントロピーソースを追加するものでした。 今回は残りの session.hash_function と session.hash_bits_per_character について。 session.hash_function は、収集したエントロピーのハッシュ値を求めるアルゴリズムを指定することができます。 0 の場合、md5 が。1 の場合、sha1 がそれぞれ利用されます。 さらに、php 5.3系からは、hash_algos() 関数で得られるアルゴリズム名を渡すことで

    php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log
  • セッション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管理は結局どうすれば良いのか?
    k-holy
    k-holy 2012/12/14
    "PHPスクリプトでセーブハンドラを作っている方は、READ時にセッションIDの確認を行う"session.entropy_file,session.entropy_length,session.hash_bits_per_characterも要チェック
  • セッションアダプションとセッションフィクセイションとセッションハイジャックの違いとは

    (Last Updated On: 2018年8月13日)徳丸さんがセッションアダプションをなくしても、セッションハイジャックが出来るのでsession_regenerate_id(true) (trueを付けると古いセッションデータは削除される)をしなければならないという記事を書かれています。 セッションアダプションがなくてもセッションフィクセイション攻撃は可能 http://tumblr.tokumaru.org/post/37676352092/session-adoption-and-session-fixation まず結論を書きます。徳丸さんが「セッションフィクセイション攻撃は可能」と言われているのは間違いです。正しくは「セッションハイジャックが可能」です。 この議論は別々の異なる脆弱性を一緒にした議論で正しい議論とは言えません。セッションアダプション、セッションフィクセイショ

    セッションアダプションとセッションフィクセイションとセッションハイジャックの違いとは
    k-holy
    k-holy 2012/12/11
    DBでセッション管理する場合でもセッションIDの定期変更と旧セッションの破棄は必須ということですね
  • http://www.sound-uz.jp/php/archives/memo/session_login.txt

  • Webと何かとその近所

    ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ! |i i|    }! }} //| |l、{   j} /,,ィ//|       『Time Capsuleが壊れたと思ったら i|:!ヾ、_ノ/ u {:}//ヘ        いつの間にか新しいTime Capsuleを買っていた』 |リ u' }  ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人        な… 何を言ってるのか わからねーと思うが /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ        おれも何をしたのかわからなかった… ,゙  / )ヽ iLレ  u' | | ヾlトハ〉 |/_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった… // 二二二7'T'' /u' __

    Webと何かとその近所
  • PHP と Web アプリケーションのセキュリティについてのメモ

    このページについての説明・注意など PHP は、Apache モジュールや、CGI、コマンドラインとして使用できるスクリプト言語です。このページでは、主に PHP における、Web アプリケーションのセキュリティ問題についてまとめています。 Web アプリケーションのセキュリティ問題としては、以下の問題についてよく取り挙げられていると思いますが、これらのセキュリティ問題について調べたことや、これら以外でも、PHP に関連しているセキュリティ問題について知っていることについてメモしておきます。 クロスサイトスクリプティング SQL インジェクション パス・トラバーサル(ディレクトリ・トラバーサル) セッションハイジャック コマンドインジェクション また、PHP マニュアル : セキュリティや、PHP Security Guide (PHP Security Consortium) には、PH

  • PHPで安全なセッション管理を実現する方法

    _ 残り容量が数十Mバイトになっていた PCがなんかくそ遅いなーと思ってふと空きディスク容量をみたら、残り数十Mバイトまで減っていた。Folder Size for Windowsで各ディレクトリ単位のディスク使用量をながめてみたところ、 Thunderbirdでimapでアクセスしているアカウントのデータフォルダに、なぜか1GバイトオーバーのINBOXファイルがあった。なにこれ? 削除したけど別に動作には支障はなし。 puttyのlogが無限に追記されたよ……。数Gバイト。 昔ダウンロードしたCD/DVD-ROMのisoイメージファイルが、そこかしこに消されず残ってたよ。10Gバイトオーバー。 あと、細かいテンポラリディレクトリの中身とか消したら、30Gバイトくらい空いた。そこまでやって久しぶりにデフラグを起動したら、表示が真っ赤(ほとんど全部断片化されている)だったので、最適化実行中。

  • PHPで安全なセッション管理を実現する方法に対する高木さんのコメントへのフォロー - いしなお! (2006-11-20)

    _ PHPで安全なセッション管理を実現する方法に対する高木さんのコメントへのフォロー 高木さんのはてなブックマークコメントに、 [セキュリティ][乱数][暗号][PHP][moderate] PHPはセッションID生成にsecureな擬似乱数生成系を使用していないようだ。さすがPHPらしい駄目っぷり。 とあって、そこから人がたくさん来ているらしいんで、ちょっとだけフォロー。PHPのセッションID生成は、 sprintf(buf, "%.15s%ld%ld%0.8f", remote_addr ? remote_addr : "", tv.tv_sec, (long int)tv.tv_usec, php_combined_lcg(TSRMLS_C) * 10); なんて感じで、マイクロ秒単位の現在時刻+ユーザーのリモートアドレス+combined-LCG(線形合同法による乱数2つを組み合

  • PHPのセッションを考える - ぎじゅっやさん

  • 1