web-dev-qa-db-ja.com

URLエクスプロイトを使用してJavaScript変数を変更する

URLを介してJavaScript変数を設定することは可能ですか?

これが私が変更しようとしているコードの例です:

<script type="text/javascript">

var x = 0;

</script>

たとえば、www.somewebsite.com +(「x」変数を変更するもの)

スタック交換に関連:https://stackoverflow.com/questions/39023761/modify-javascript-variable-with-url =

2
Josh B.

いいえ、これは [〜#〜] xss [〜#〜] 脆弱性なしでは不可能です。そのようなことが一般的に可能である場合、XSSは蔓延し、任意のページで任意のコードを実行する可能性があり、これは悪いことです。

コードに反映されたXSS攻撃ベクトルまたはDOMベースのXSS攻撃ベクトルがあった場合、URLを使用してJavaScriptペイロードを配信できます。もちろん、これはサーバー側またはJavaScriptコードにそのようなセキュリティの脆弱性がある場合にのみ可能です(コードでそれが可能な場合は、修正する必要があります)。

4

同様の攻撃が可能ですXSSなし

コードは言った

<script type="text/javascript">

var x = 0;

// Some processing

x=395;

</script>

攻撃者がxの値がx=395の影響を受けないようにしたい場合、コードを除外するためにブラウザーのアンチXSSフィルターを使用できます。

例えば被害者に送信する細工されたリンクを作成することにより:

example.com/page.html?param=x%3d395%3b

XSSフィルターは、パラメーター値が出力(x=395;)に反映されていることを検出し、その実行をブロックします。

したがって、xの元の値は残ります。

これを緩和するには、ユーザーのブラウザのXSSフィルタを security headers を使用してフィルタリングするのではなくブロックするように設定します。

X-XSS-Protection: 1; mode=block
1
SilverlightFox