1

私は asp.net htmleditorextender を使用していますが、残念ながら現在動作する XSS サニタイザーはありません。したがって、迅速な解決策として、以下のようにユーザー入力からすべてのスクリプトと Java 単語を置き換えています

    var regex = new Regex("script", RegexOptions.IgnoreCase);
    srSendText = regex.Replace(srSendText, "");

    regex = new Regex("java", RegexOptions.IgnoreCase);
    srSendText = regex.Replace(srSendText, "");

XSS 攻撃から安全であると仮定できますか?

実際、私はhtmlagilitypackアンチxssサニタイザーを使用していますが、スクリプトタグを削除することさえしていないので、まったく役に立ちません

4

2 に答える 2

4

いいえ、できません。

攻撃者は、たとえば としてエンコードすることで、このようなチェックを簡単に回避できscriptますscript

XSS 攻撃からコードを安全にするためには、テキスト内のコードがまったく実行されないようにするために、適切なエンコードなしでユーザーからのコンテンツがページに挿入されないようにすることによって行われます。

于 2013-04-23T12:38:26.663 に答える
1

常にライブラリを使用する必要があるため、カスタム XSS 防止は通常、私の意見ではノーノーです。ただし、ストリッピングだけscriptjavaは十分ではありません。サーバーに渡されるものはHttpUtility.HtmlEncodeすべて、ユーザーからの入力をエンコードするために使用する必要があります。

またvalidateRequest="true"、構成ファイルで設定されていることを確認してください。

その他の危険なタグには次のものがあります。

  • アプレット
  • 埋め込む
  • フレーム
  • 脚本
  • フレームセット
  • html
  • iframe
  • 画像
  • スタイル
  • リンク
  • ilayer
  • メタ
  • 物体

http://msdn.microsoft.com/en-us/library/ff649310.aspx

于 2013-04-23T12:37:53.173 に答える