[Tep-j-general] Re: セッションハイジャック対策(Recreate Session)

Back to archive index

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
>




Tep-j-general メーリングリストの案内
Back to archive index