1

これは以前に尋ねられたことは知っていますが、SpringMVCWebアプリケーションのXSS攻撃を防ぐ方法を見つけようとしています。

1)web.xmlに以下を追加しました

<context-param>
    <param-name>defaultHtmlEscape</param-name>
    <param-value>true</param-value>
</context-param>    

2)データベースに保存する前に、フォームコマンドオブジェクトの各プロパティにCommons StringEscapeUtils.escapeHtml()を使用する必要がありますか?ある時点でエスケープを解除する必要がありますか?

ありがとう

4

3 に答える 3

2

アプリケーションでこの種のデータセキュリティを実現するために、HDIVAPIを試してみることをお勧めします。これにより、Webアプリケーションに対するこの攻撃やその他の7つの異なる攻撃を防ぐことができます。私は現在、SpringFrameworkで使用するのと同じAPIを検討しています。

HDIVホームページはこちらをクリックしてください。

これがお役に立てば幸いです。

于 2012-05-08T09:08:49.373 に答える
2

デフォルトでhtmlをエスケープすると、多くのコンテキストでXSSが停止しますが、機能しないコンテキストも確かにあります。ここで例を参照してください: http : //erlend.oftedal.no/blog/?id = 124OWASPXSS防止に関するチートシートを参照することをお勧めします。さまざまなエスケープを使用する必要がある場合について説明します。2に関しては、データベースに配置する前にエスケープしないでください。エスケープルーチンにエラーが発生する可能性があり、データが毎回同じコンテキストで使用されるかどうかを確認することはできません。

于 2012-05-08T04:54:21.360 に答える
2

今のところ、JavaScript攻撃を回避するために、データをサニタイズし、HTMLタグを削除することにしました。

私はそれを行うためにJsoupAPIを使用しています。

http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer

于 2012-05-11T13:07:39.743 に答える