仕事で Seaser2 の dbsession を使っている。 セッションの中身を DB に保存することができるため、アプリケーションのクラスタリングが容易にできたり、メモリの節約になるなど大きなメリットがある。 この機能は自前で作ろうかと考えていたところだったので、非常にありがたかった。しかし、テストを重ねていくうちに、この dbsession を使っているといくつかのセキュリティに関する脆弱性があることがわかった。 それらは「XSS後のセッションハイジャックの予防策が設定でできない」「セッション固定化(のうちのセッションアダプション)ができてしまう」である。 これらの脆弱性対策には、 アプリ側での防御策をとる(dbsession を外側から拡張することも含む) dbsession 側で修正および拡張可能にしてもらう dbsession 以外の選択肢をとる(要は使わない) があると思う。
![kizashi1122の日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)