ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Last modified 10 years ago

#1689 new defect

パスワードを知らなくても他のIDでのログインが可能になる

Reported by: kiwa Owned by: nobody
Priority: minor Milestone:
Component: pne-biz Version: 2.12.x & 2.14.x
Keywords: 再現せず Cc:

Description

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=14659 より転記

v2.10.1(biz)を使用しております。

携帯で使用した際の出来事なのですが・・・

ユーザーID1(管理者)が新規コミュニティを作成し、ユーザーID3(一般ユーザー)に「マイフレンドに紹介」から参加を促すメッセージを送ったところ、そのメールを受け取ったID3の人がメール内のリンクから簡単ログインでログインすると、ID1としてログインしてしまうという現象が起こりました。

普通にID1として書込みも可能でした。

ただし、メール内のリンクからでは無く、お気に入り(ブックマーク)から再度ログインしなおすと、元のID3としてログインできるようになります。

携帯の固体識別番号は取得するように設定してあります。
ID3ユーザーはauの携帯でした。

他にテストできる環境がないので、詳細に検証はしておりませんが、どなたか同様の現象になった方はいらっしゃるでしょうか。 

Change History (4)

comment:1 Changed 11 years ago by ogawa

Version: 2.8.x & 2.10.x & 2.11.x2.10.x & 2.12.x & 2.13.x

comment:2 Changed 11 years ago by kiwa

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=18514 こちらのえびはらさんのコメントより転記します。

これは現在のところ仕様となっています。
日本の携帯電話はクッキーが使用できないものが多いため、URL部分にセッションを含んでいます。お察しの通りこのセッションが有効である限り、他のメンバーとしてアクセスできてしまいます。

とはいえ、メンバーがログインするたびにセッションは再生成されますし、セキュリティ上重要なアクション(パスワード変更、メールアドレス変更、個体識別番号の登録など)についてはパスワードの入力を要求する仕様なので、最悪の事態についてはなんとか防げていますというレベルです。

対策としては、config.php の以下の設定値を変更していただいたり、
270 // 携帯版
271 // セッション生成時からの有効期限(秒) (0 の場合は無限)
272 $GLOBALS['OpenPNE']['ktai']['session_lifetime'] = 0;
273 // セッションの有効期限(秒)
274 $GLOBALS['OpenPNE']['ktai']['session_idletime'] = 3600; // 1 hour

あるいはセッションに UA を含んでおいて、そのUAが現在のUAと一致しているかどうかのチェックをする実装に変更するなどの対策がありうるでしょうか。

comment:3 Changed 11 years ago by kiwa

Keywords: 再現せず added; 再現待ち removed

てっきりセッションID関係だと思ってましたが文面を見る限りそうでもないみたいですね、早とちり失礼しました。

以下のような確認を行いましたが、再現することができませんでした。

version

  • 2.10.10
  • 2.12.4
  • 2.13.2

サーバ

  • CentOS5
    • PHP 5.1.6
    • MySQL 5.0.22

手順

  1. メンバーA(DoCoMo)が携帯版でコミュニティを作成する
  2. メンバーA(DoCoMo)がコミュニティ紹介メッセージ(ktai_page_c_invite)からメンバーB(au)にコミュニティ紹介メッセージを送る
  3. メンバーBがメッセージお知らせメールからSNSにアクセスする
  4. メンバーBがログインページ(ktai_page_o_login)から簡単ログインでログインする
  5. ログイン後(この時点でまだメンバーB)新着メッセージのお知らせからメッセージボックス(ktai_page_h_message_box)にアクセスし、2でメンバーAに送られたコミュニティ紹介メッセージのメッセージ(ktai_page_h_message)にアクセスする
  6. メッセージ内のリンクから1で作成されたコミュニティのトップ(ktai_page_c_home)にアクセスする
  7. メンバーはメンバーBのままで、メンバーAにはならない

comment:4 Changed 10 years ago by ebihara

Version: 2.10.x & 2.12.x & 2.13.x2.12.x & 2.13.x
Note: See TracTickets for help on using tickets.