2016-11-16 11 views
3

私は、次の画像でMustacheJSテンプレートいる:このMustacheJS-SnippenはXSS攻撃に対して安全ですか?

<div class="thumbnail" style='background-image: url({{avatar}});'></div> 

{{avatar}}変数は、検証せずに、ユーザの入力から移入され、ユーザは、彼らが望むものは何でも入力することができます。

これは安全ですか、誰かが悪意のある入力を渡してこれを介してXSSを実行できますか?

+2

いいえ安全ではありません。入力の検証とサニタイズが必要です。 –

+0

正確なコードを確認する必要があります。 – Feathercrown

+0

@RoryMcCrossan JavaScriptビーイングを実行する入力値を入力してください。お返事をありがとうございます! – Tream

答えて

0

最近のブラウザでは、スタイルXSSはもはや機能しません(IE11/Edge、最近のChromeまたはFirefoxではCSSからJSが実行されません)。

ブラウザのバージョンにもよりますが、それがベストプラクティスではないにしても、実際に動作する攻撃を思いつくのは簡単ではありません(私はそこで言葉遣いに非常に注意しました。最近のブラウザでこれを悪用する)。あなたのコメントで実演したように、Mustache htmlは自動的にいくつかの文字をエンコードします。

IEはX-UA-Compatibleで互換モードに切り替えることができます。この場合、選択したバージョンとまったく同じように動作しますが、そのバージョンの脆弱性がすべて含まれていますが、htmlエンコーディングのために悪用できません。

関連する問題