ChinaWeb.JP
info****@china*****
2004年 5月 8日 (土) 13:23:08 JST
いつもお世話になっています。チャイナウェブです。 MS2では ログインしても URL にosCsidがつかないようですね。 それなら、セッションハイジャック対策は必要ないでしょうか? ずっとMS1とMS2とのどちでサイト構築するかに迷っています。 MS2の方は問題が少ないようですが、日本語ファイルがなく、ちょっと不安です。 自分でMS2英語のファイルをMS1jを参考しながら日本語化してみたのですが、 ファイルが多いので、まだ完成していません。 ご協力していただける方がいらしゃったら、返事ください。 宜しくお願いします。 > -----Original Message----- > From: tep-j****@lists***** > [mailto:tep-j****@lists*****] On Behalf > Of Katsunori IMAI > Sent: Friday, May 07, 2004 3:37 PM > To: tep-j****@lists***** > Subject: [Tep-j-general] Re: セッションハイジャック対策(Recreate Session) > > 田村さん、こんにちは。 > 今井と申します。 > > osCommerceの日本語化など、いつもありがとうございます。 > > 以前MLに流されていたセッションハイジャック対策に関し、 > Recreate Sessionのソースを持ってきて見てみたのですが、 > 気になることがありましたので、メールさせていただきます。 > > > https:に切り替えるところ(たとえばログイン)で新たにとっ > たsidを、http:(たとえばカタログページ)でもそのまま使っ > ているので、 > 結局セキュアにしたいページで使われているsidがSSLを使用せ > ずに流れてしまい、セッションハイジャック対策にはなってな > いのではないでしょうか? > > 例えばログイン後の、画面のナビゲータ部分 > トップ >> カタログ > のカタログのリンクは、http: で、そのURLにかかれている > osCsidは、ログイン時に新しくふられたものです。http: になっ > ているということは、ここをクリックすると暗号化されずにそ > のURLがながれるので、sidを盗むことは可能です。 > このsidをつかって、他のブラウザで > > https://foo.bar.baz/catalog/account.php?osCsid=盗んだsid > > でアクセスすれば、(そのsidがサーバで有効な間は)ログイ > ンすることなくその人のアカウント情報が見れてしまいます。 > > この例は、URL上にsidがある例ですが、クッキーもセキュアクッ > キーになっていないので、URL上にない場合でもsidは暗号化さ > れずに流れています。 > > セッションハイジャック対策をするには、 > SSL用のsidは、非SSLのときにはURL上にもHTMLヘッダ(cookie > )にもHTML本文にも一切現れないようにして、sidをSSL用、非 > SSL用で完全に分けないと、セッションハイジャック対策には > ならないと思います。(結構大変なはずです。^^;) > > (ご参考) > http://www.ipa.go.jp/security/ciadr/20030808cookie-secure.html > > > On Mon, 26 Apr 2004 10:21:41 +0900 > TAMURA Toshihiko <tamur****@bitsc*****> wrote: > > > こんにちは、田村です。 > > > > osCommerceで運用しているサイトに、 > > 外部のサイトからセッションIDの付いたURLでリンクされると、 > > そこからやってきたユーザのセッションが区別できなくなって、 > > 他人の名前やショッピングカートが見えてしまう場合があります。 > > > > 対策としては、session.referer_check の設定を利用するのが > > 簡単で効果があります。 > > ただ、ページビューの多いサイトでは、それでも防ぎきることが > > できませんので、MS2以降で組み込まれた(?) `Recreate Session'を > > MS1日本語版に組み込みました。 > > > > # `Recreate Session'はMS2では実際には動く状態になっていません。 > > > > この変更は実サイトでもテストしているので大きな問題はないと > > 思いますが、何かお気づきの点がありましたら教えてください。 > > > > > > (参考) session.referer_check > > http://jp.php.net/manual/ja/ref.session.php > > > > ------------------------------------------------------------ > > ●現象 > > osCommerce において、BBSや検索サイトの検索結果から`osCsid=...'と > > いったセッションID付きURLでサイトを訪れる場合がある。 > > 現在、この現象を確認している検索エンジンには MSN がある。 > > > > これにより、同じセッションIDを持ったユーザが複数存在することになり、 > > いわゆるセッションハイジャックの状態となる。 > > > > ●対策1 > > php.ini の設定 session.referer_check は有効。 > > しかし、Mac のブラウザ Safari は外部サイトの HTTP_REFERER を > > 返さないので、session.referer_check では解決できない。 > > > > ●対策2 > > ログイン時にセッションIDを付け替える(Recreate Session)。 > > > > ●その他 > > Contributions: spiderkiller > > http://www.oscommerce.com/community/contributions,1089 > > ロボットのアクセス時にセッションIDを付加しない。 > > 少し処理は重い。 > > > > ------------------------------------------------------------ > > Recreate Session に関する変更点 > > > > ●変更したファイル(Recreate Session): > > > http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/tep-j/oscommerce-2.2ms1j > > / > > からダウンロードできます。 > > catalog/create_account_process.php > > catalog/login.php > > catalog/includes/functions/html_output.php > > catalog/includes/functions/sessions.php > > catalog/install/oscommerce.sql > > > > ●追加する必要のあるSQL > > INSERT INTO configuration_group VALUES ('15', 'セッション', > > 'セッション制御に関するオプション', '15', '1'); > > > > INSERT INTO configuration (configuration_title, configuration_key, > > configuration_value, configuration_description, > > configuration_group_id, sort_order, set_function, > date_added) VALUES > > ('セッションの再生成', > > 'SESSION_RECREATE', 'False', > > '顧客のログオンまたはアカウント作成のときに,新しいセッションIDをつけるた > > めにセッションを再生成します. (PHP >=4.1 needed).', '15', '7', > > 'tep_cfg_select_option(array(\'True\', \'False\'), ', now()); > > > > ●管理画面での設定 > > [基本設定]-[セッション]-[セッションの再生成]を`True'にセットする。 > > ------------------------------------------------------------ > > > > -- > > 田村敏彦 / 株式会社ビットスコープ > > E-mail:tamur****@bitsc***** > > http://www.bitscope.co.jp/ > > > > > > > > _______________________________________________ > > Tep-j-general mailing list > > Tep-j****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/tep-j-general > > > _______________________________________________ > Tep-j-general mailing list > Tep-j****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/tep-j-general >