アカウント名:
パスワード:
たぶん、同じセッションIDを含んでいる他のページをGETで取得できる場合、そのセッションIDは容易に類推可能なものになってしまうからじゃないでしょうか。
高木さんの対策は本質的には正しいのですが、「一致させる値を予測することは不能であるはずなので」という前提が崩れてしまったということだと思います。
# あ、不能→不可能のTypo発見(^^;。
一般論としてはその通りだと思います。
今回のケースは、言ってしまえば(ある特定のブラウザの)影響の大きい深刻なバグが放置されており、その対処法が発表されただけとも解釈できるんですが、私があの手法を評価しているのは、今後同様のバグが発見された場合でも、この手法をとっていれば回避可能であると思える点です。
あの文書の隠れた肝は、ログインからログアウトまでという比較的長い時間保持されるような情報を鍵として流用することの危険性を指摘し、ある特定のクリティカルな操作のためだけに鍵を準備して、事が済んだら即座に消す、という手法の提案を行ったという所にあるんじゃないかなあと思っているんですが、どうでしょう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
ワンタイムトークンは不要では (スコア:3, 参考になる)
鵜呑みにしてみる?
Re:ワンタイムトークンは不要では (スコア:1)
たぶん、同じセッションIDを含んでいる他のページをGETで取得できる場合、そのセッションIDは容易に類推可能なものになってしまうからじゃないでしょうか。
高木さんの対策は本質的には正しいのですが、「一致させる値を予測することは不能であるはずなので」という前提が崩れてしまったということだと思います。
# あ、不能→不可能のTypo発見(^^;。
Re:ワンタイムトークンは不要では (スコア:0)
ブラウザーに脆弱性があっても大丈夫なようにウェブアプリを作ることなんて不可能でしょ!
Re:ワンタイムトークンは不要では (スコア:1)
一般論としてはその通りだと思います。
今回のケースは、言ってしまえば(ある特定のブラウザの)影響の大きい深刻なバグが放置されており、その対処法が発表されただけとも解釈できるんですが、私があの手法を評価しているのは、今後同様のバグが発見された場合でも、この手法をとっていれば回避可能であると思える点です。
あの文書の隠れた肝は、ログインからログアウトまでという比較的長い時間保持されるような情報を鍵として流用することの危険性を指摘し、ある特定のクリティカルな操作のためだけに鍵を準備して、事が済んだら即座に消す、という手法の提案を行ったという所にあるんじゃないかなあと思っているんですが、どうでしょう。