Strutsで作成したWebアプリケーションのセキュリティは万全に
適切なエスケープ処理でクロスサイトスクリプティングに備える (1/3):Strutsで作るセキュアWebアプリケーション(1) - @IT
Strutsのカスタムタグの中にはエスケープの処理が入っていないタグがあるので気をましょう、というお話。
この中では
サーブレットコンテナが抱える問題を認識する (1/3):Strutsで作るセキュアWebアプリケーション(2) - @IT
もし、サーブレットコンテナ自体に脆弱性があったら、どうするか、というお話。
ここでは実際にあったTomcat4のデフォルトエラーページの脆弱性に触れています。対策としては独自のExceptionHandlerを使用するかweb.xmlのerror-page要素で対策を講じましょう、とういう感じになっています。
Validatorを利用した入力値チェックの注意点 (1/3):Strutsで作るセキュアWebアプリケーション(3) - @IT
安全なセッション管理を実現するために (1/3):Strutsで作るセキュアWebアプリケーション(4) - @IT
HttpSessionの発行が、RequestProcessor#processLocaleでされているので、各Actionクラスに届く前に自動的HttpSessionが発行されている。よって、HttpSessionを使いなくない場面でも発行されてしまう。これがセッション固定攻撃(Session Fixation)を招くという脆弱性。
対策としてはSessionIDとは別のIDを用意してそちらを使用するとのこと。私はこの脆弱性は知らなかったので非常に勉強になりました。
別のIDはMessageDigestクラスを使用すればいいんじゃないかと思います。