1

OWASPチェックリストを使用して、この状況を保護する正しい方法はどれですか?これは、urlパラメータがxss保護を必要とするjavascript文字列内のurlです。

問題:

<script>
    var u = 'xyz.html?x=<% url.baddata %>'  
    dosomeAjax(u);
</script>

考えられる解決策1:

var u = 'xyz.html?x=<% encodeForURL(url.baddata) %>'

考えられる解決策2:

var u = 'xyz.html?x=<% encodeForJavaScript(url.baddata) %>'  

考えられる解決策3:

var u = 'xyz.html?x=<% encodeForJavaScript(encodeForURL(url.baddata)) %>'  
4

3 に答える 3

3

解決策 3 を使用する必要があります。

//solution 3:
var u = 'xyz.html?x=<% encodeForJavaScript(encodeForURL(url.baddata)) %>';

式を次のように書き直すと、これが正しいことを簡単に確認できます。

var u = '<% encodeForJavaScript("xyz.html?x=" + encodeForURL(url.baddata)) %>';

まず、baddata適切なエスケープ関数を使用して、文字列定数に追加することで安全な URL を作成しています。次に、その安全な URL を取得して JavaScript 文字列に配置するため、JavaScript エスケープ関数を呼び出す必要があります。

于 2012-05-08T02:28:16.740 に答える
0
var u = 'xyz.html?x=<% encodeForURL(encodeForJavaScript(url.baddata)) %>' 

EncodeForURL は最後にする必要があります。

<必須の挿入 'eval が悪い、何を考えているの??'>

于 2012-05-07T21:13:39.410 に答える