2016-08-22 7 views
0

私は現在、XSSに対して自分のアプリをテストし、次の例が悪用される可能性があるかどうか疑問に思っています。XSS攻撃:入力値が設定されているときにJSを実行できますか?

ここに私がしていることがあります:私はサーバーからエスケープされていない応答を取得し、それを入力の値に直接設定します。

私はサーバーでエスケープする必要がありますが、これが悪用される可能性があるのか​​不思議です。

私はすでにalert(1);が実際に実行されることにかかわらず、あなたはこの例を変更することはでき

document.getElementById('test').value = '"/><script>alert(1);</script>';
<input id="test" type="text"/>

...構文エラーを生成するためにここまで来たが、スクリプトを実行することができませんでした?

ありがとうございました。私は本当に興味があります:-)

答えて

1

入力の値に何かを割り当てることは実行されません。 onerror、onmouseover、onfocusなどのイベントハンドラへの割り当てだけが実行されます。

</script>があなたのスクリプトタグを壊しているため、無効なJavaScriptが残っているため、構文エラーが発生していると思います。私がここで説明しているものにかなり似ています:http://erlend.oftedal.no/blog/?blogid=91

+0

ありがとう。したがって、私が挿入する曖昧な文字列や難読化された文字列に関係なく、実行されることはありません。これを回避する方法は本当に絶対にありませんか? –

+0

value属性の設定は、内容に関係なく安全な操作でなければなりません。何か見つかった場合は、アプリケーションのバグではなく、ブラウザのバグが見つかったことを意味します。 – Erlend

+0

ご協力いただきありがとうございます。 –

関連する問題