2005-07-16 (Sat)
_ Login GeneratorのSession Fixation Attack対策(2)
これを回避するには以下のようにセッションをリセットしてやればよい。
[Journal InTime - CSRF対策 , Login GeneratorのSession Fixation Attack対策 , クッキーのパス , セッションファイルの作成場所より引用]
某所でセッションデータは引き継ぎたいという話があったのでちょっと改良。
def login case @request.method when :post user = User.authenticate(@params[:user_login], @params[:user_password]) if user @session[:user] = user data = @session.instance_variable_get(:@data) @request.reset_session @session = @request.session for key, val in data @session[key] = val end flash['notice'] = "Login successful" redirect_back_or_default :controller => "page", :action => "list" else flash.now['notice'] = "Login unsuccessful" @login = @params[:user_login] end end end
もうちょっとマシな方法はないものか。
_ Login GeneratorのSession Fixation Attack対策(3)
しつこいようですが。
RailsではクッキーでしかセッションIDは渡されないので、session fixation は難しいのではないかという話がある。
しかし、たとえば、ホスティングサービスなどで、同一ドメイン上に信頼 できない他のウェブアプリケーションが存在する場合などは危険だ。 また、他のXSS脆弱性との合わせ技といったことも考えられるので、 対策はしておいた方がよいと思う。
2011-07-16 (Sat)
_ RubyKaigi2011 1日目
1日目が終わった。面白かったけど、疲れた。以下メモ。
- はじめてスタッフ用の名札をもらった。SpeakerとCommitterとSponsorのシールを貰ったので、Individual Sponsorにもなっておけばよかったと後悔した。全部揃った人っているのかな。
- スーツ来てる人の後ろ姿を見てごとけんさんかと思ったらアーロンさんだった。
- 後ろで中学生みたいにはしゃいでる奴等がいるなと思ったら、ほんとに中学生だった。
- RubyでRailsと同じやり方をしたらカオスになる気がするけど、どうだろう。
- Next version of Ruby 1.8 and 1.9のグダグダ感はたぶんみんなの予想どおりだったのではないか。
- NaHiさんによるとwycatsが質問の時にrefinementsがどうこうと言っていたらしいが、よく聞き取れなかった。
- akrさんがip6tablesとかあまり知らないというのは意外だった。akrさんも人の子ということか。
- sora君のセッションを見て恐くなったので、自分のスライドの枚数を追加した。
- 須永さんのセッションでruby-profをdisられた。RubyKaigiでは毎回何かしら自分のプロダクトをdisられている気がするので、RubyKaigiがなくなったら平穏な日々を暮らせそうな気がする。
- Riteの発表の時にちょっとどきっとしたけど、きっと気のせい。
- nariのdequeについての発表は勉強になった。
- 笹田さんの夢が色々叶ってよかった。
- スイスから来たyweseeのzenoさんに寿司をおごってもらった。Passengerよりmod_rubyの方が速いから、Ruby 1.9対応してくれと言われたけど、ベンチマークの取り方に問題がある気がする。
- 闇…
明日は自分の出番だけど、トラブルがないといいなあ。