私はユーザーが入力を提供できるこのUTF-8エンコードされたHTMLページを作成しています。私はこのXSS証明をしたかったのです。 Prototypeという無料のJavascriptフレームワークがいくつかの便利な機能を提供しています。 1つの特定の関数stripTagsは、基本的に入力文字列からすべてのタグを取り除きます。 次の入力処理によってXSSが防止されますか?String.stipTags()はXSS攻撃を緩和するのに十分ですか?
- (すべての可能なUTF-8表現を考慮して)入力の徹底したUTF-8デコードデコードされた上で
- 実行stripTagsを文字になるように
- 変換HTML文字エンティティを実行するには、すべての可能なタグを削除した文字列を変換します
JavascriptでのantiXSS試行の一般的なコメントの1つは、ユーザーがシステムをバイパスできることです。これはどのように可能ですか?私の場合、システムを使用するユーザーは信頼できます。しかし、以前に同じマシンを使用していた可能性がある他のユーザーは、悪意のあるユーザーになる可能性があります。