2012-04-13 16 views
2

公式のデベロッパードキュメントによると思われるかもしれませんが、GWTのHTMLウィジェットはXSSセーフではなく、カスタムHTML /スクリプトテキストを埋め込む際には注意が必要です。GWT HTMLウィジェットXSSセキュリティ

だから私は私の質問があると思います、なぜこれがない:

HTML testLabel = new HTML("dada<script type='text/javascript'>document.write('<b>Hello World</b>');</script>"); 

はjavascriptのポップアップが表示されませんか?どういうわけか、GWTのHTMLウィジェットはXSS攻撃から保護しますが、どのような状況ではないのですか(私は何を期待できるのでしょうか)。

+0

[SafeHTml](http://stackoverflow.com/questions/6177329/gwt-safehtml-xss-best-practices) – Shehzad

答えて

2

GWTのドキュメントは、いくつかのarticlesが含まれている読んでお勧めします参照してください。セキュリティについて(SafeHtmlを使用するXSSを含む)

innerHTMLで定義されたスクリプトがChrome/Firefoxで実行されないため(例:defer属性を使用しているIEの回避策がいくつかあると思われます)

しかし、このブラウザの制限に頼るべきではありません。したがって、SafeHtmlを使用し、ユーザーからの入力を常に検証する方が良いです。

+0

パーフェクト、ありがとう。 – user1021138

2

特にこのウィジェットについてはわかりませんが、一般的にXSSベクトルは多くののフレーバーで表示されます。わずかなパーセンテージで実際にscriptタグが使用されます。

非常に重要な要素の1つは、それらが位置に依存することです。たとえば、任意のタグの外側でxss-safeである文字列は、タグの属性値内で、またはjavascriptブロック内に区切られた文字列内では安全ではない可能性があります。

これらは、ドキュメント解析モデルで「バグ」を悪用するブラウザもあります。悪意のあるJavaScriptの注入を生成するために悪用される可能性が異なる種々のベクターの感覚を得るために

は、これら二つのcheatsheets

は、私はまた、あなたがprevention cheat sheet at owasp

+0

非常に有用な言語に依存しないリソースをありがとう! – user1021138

関連する問題