今日のmhtml

  • timelineの投票CSRFできてたので、ご意見ページみたいなとこから投げて、直してもらった
  • 投票時に、セッション追跡用のcookieの値をくっつけてリクエストしないと、拒否するようになっていた
new Ajax.Updater('options', '/portal/vote/934?vote=5', {asynchronous:true, evalScripts:true, parameters:'session_id_validation=hogefuga'});
  • しかしこれ、セッションIDそのまんまだ(つまりhogefugaだけで、そのセッションを乗っ取れる)
  • 例のmhtmlのやつで読み取って、悪さできちゃうよね?
    • 実験: http://pico.ido.nu/ayaya/tl.html
      • timelineにログインした状態で踏むと、プロフィール画像が勝手に置き換わります(注意)
      • IEだったり条件があっている人にだけ有効
    • mhtmlを使われたら防ぎようがないけど、読み取られても被害が最小限になるようにしておくべきだと思います
  • 追記)やっぱりmhtmlは反則かも、状況が限られてるし
    • プロクシとかを使ってたら、セッションIDがキャッシュされちゃうのがまずいくらい
    • 逆にmhtmlをまともなことに利用して、何か作りたいですね