今はかんたんログイン脆弱性がブームなようです。何言ってるんだという感じですが、一応adiary内部でどのようにかんたんアクセスを処理しているか書いておきます。かんたんログインとはadiaryの実装しかし別の問題が......とりあえずかんたんログインとは携帯の機種固有IDを使用した自動ログイン機能のことです。Cookieを実装する気のない某殿様商売通信キャリアの存在が一気に利用を広げました。機種固有IDは、USER-AGENTなどのHTTPヘッダによって送信されます。HTTPについて知っている人ならすぐわかることですが、このヘッダは誰でも簡単に任意の値で送信することができるため何のセキュリティにもなりません。例えるなら、掲示板に書き込む際の名前欄で承認しているようなものです。比較的単純な通し番号なので、秘匿性もあったものではありません。ほかにどこのサイトにも同じものが送られるといった理由があります。adiaryの実装もともとこんな危険なものを実装する気はなかったのですが(苦笑)、要望があったのでしぶしぶ実装しました。右の画面がかんたんログインの実際の画面です*2。このページをブックマークしてもらい「かんたんログイン」をクリックしてもらうことでログインできます。ID:useridの人がかんたんログインを設定したこの画面のURLは次のようになります。http://~/adiary.cgi/=userid:LE0GdeSwSdQ/?login_docomoLE0GdeSwSdQという文字列は「機種固有IDから生成されるハッシュ」です。'秘密の言葉'>の設定が漏洩しない限りハッシュ文字列を第3者が知ることはできません。仮にこのログインURLだけ漏洩しても、対応する機種固有IDが分からないとログインできません。いわゆるかんたんログイン脆弱性はadiaryには存在しないことが分かります。この画面はDoCoMoの場合。埋め込まれており機種固有IDの送信を要求している。別の問題が......次は携帯ログイン後のURLです。http://~/adiary.cgi/=userid=kpQYloloFFF0M4Xnujjs/?login_docomo「kpQYloloFFF0M4Xnujjs」がセッションIDになります。Cookieが使えないので仕方なくURLに埋め込んでいるのですが、リファラーからこのURLが漏れるとセッションが乗っ取られてしまいます。ドコモはリファラを送らないことになっているみたいですが、他機種だと色々で頭の痛い問題です。(参考)携帯電話向けWebアプリケーションのセッション管理手法とりあえずCookieを食わせて、食べられたらそっちに誘導するように変更するか......。Cookie非対応でリファラ送信なんて機種もあるそうですが、それは端末脆弱性なんで無視かな。