私は、次のフローがあります。クエリパラメータ付きURL、サーバー側でいくつかのロジックを実行し、その後、XSS JSコードファイルに渡されたパラメータのための防止
-
でテンプレートエンジンにスタブHTMLページを使用して生成
- javascriptファイルが含まれています。これはメインロジックです。
<script>
このJSコードのパラメータを持つJSオブジェクトを含むタグで、部分的に以前のクエリパラメータから取得されたタグです。
ここで、XSS注入を防ぐために、受け取ったパラメータをサニタイズします。問題は、そこにパラメータの1つがトークンなので、私はバリデーションに厳格すぎる(すべての可能なXSS文字があまりにも厳しくないのを許さない)ことを望んでいないが、私が扱っているほとんどのライブラリ純粋なHTMLであり、JSコードではありません(<script>
タグ内)。私は、セキュリティを扱うとき(ユニットテストと正規表現の束ではない)、オープンソースライブラリを信頼するために使用されているので、私はすべての正規表現ソリューションを読むと少し不安を感じる。
ライブラリに関するアドバイス&可能なアプローチ?私たちはJVM環境で動作します。
私はあなたのクエリ文字列パラメータをhtmlでエンコードして、あなたのhtmlレスポンスページに安全に表示できると思います。 javaではorg.apache.commons.lang.StringEscapeUtilsを使用することができます –
JSオブジェクトのプロパティの値としてURLパラメータを渡していますが、それは正しいですか? – mjsarfatti
@mjsarfattiそうです。 –