質問: AngularベースのWebアプリケーションを作成していますが、セキュリティ診断サービスを受けたところ、URL末尾に「?'">alert(document.cookie)」を付与するとJavaScriptが解釈されて実行されてしまう脆弱性を指摘されましたが、いくつか疑問があります。 ・そもそも、アプリケーションの対応で止めることが可能なのか? ・Webサーバの設定等で当該脆弱性を止めることが可能であれば、どのような対応が考えられるか? ・Cookie情報にアプリケーションでセットすることはしていないが、それでもCookieが盗聴されると危険なのか?(意識していない重要な情報が一般的にあるか?) ご存知の方いらっしゃれば、ご回答をお願いします。
回答: > > そもそも、アプリケーションの対応で止めることが可能なのか? > > > 可能です。AngulerJSもいくつかセキュリティのためのAPIが用意されているのでご参考にしていただけるといいと思います。 > > Webサーバの設定等で当該脆弱性を止めることが可能であれば、どのような対応が考えられるか? > > > 脆弱性にはレイヤが存在してXSSはWebアプリケーションレイヤでの脆弱性になりますので、 対策はWebアプリケーションでの対応が必要です。 サーバでの対策はできません。 > > Cookie情報にアプリケーションでセットすることはしていないが、それでもCookieが盗聴されると危険なのか?(意識していない重要な情報が一般的にあるか?) > > > おそらく報告をした際の例としてCookieを読み込めるとしただけで、実際は任意のJavascriptが実行できることが脆弱性の主となります。任意のJavascriptが実行できると、他のサーバにデータを転送したり、不正なデータをサーバ側に伝えたり、ブラウザの脆弱性と掛け合わして使っている人のPCを乗っ取ってしまうというようなことができてしまいます。 Webアプリケーションの脆弱性は範囲としてかなり広いので一つ一つ質問すると大変なのでまずは IPAなどでも公開されている。セキュリティ講座を一通りご覧になってみると良いかと思います。