2016-03-22 8 views

答えて

3

まず、独自のXSSフィルタを手動で実装することは、ほとんど常にひどい考えです。

ペイロードを符号化することによって、一般に非常に簡単に回避できます(たとえば、<%60などとエンコードされたURLにすることができます)。可能であれば、プラットフォームによって提供されるネイティブのエスケープ関数を使用する方がはるかに安全です(さらに好ましい)。たとえば、PHPではhtmlspecialchars、Pythonではhtml.escapeなどとなります。特定の例において

あなたの出力は内間タグはなく、が挿入されているので、XSSは、それらは、(属性値のように)<又は>では不可能です。 " onerror="alert(1)の値を挿入すると、このXSSにつながる

<img src="{{output}}"> 

::あなたの元のフィルタは、次のような他のシナリオにXSSに対する保護ではないでしょう

<img src="" onerror="alert(1)"> 

あなたが助けることができる場合は、独自のフィルタを実装しないでくださいそれ。ここではいくつかのOWASPのドキュメントです:

+0

ええ、私は「あなた自身のXSSフィルタを実装するほとんど常にひどいアイデアだ」の点に同意する....まあ、戻ってきますこの質問には、jqueryメソッドのテキスト(入力)が "<", ">"を "<"、 ">。 – lwwwzh

+0

"にエンコードするxssを防ぐのに十分安全かどうかを調べたいだけです。 src = "brokenSrc" onerror = "alert( 'XSS');"をimgに追加します。 安全。 – Dane

+0

あなたのアドバイスの範囲は、私が同意しない点だけです。 「あなた自身のセキュリティを実装することは、ほとんどの場合、ひどい考えです」。 – Aron

関連する問題