3

私たちのサイトは、サイト ページにリンク URL を追加する形でのクロス スクリプティング攻撃の問題に直面しています。以前の攻撃は、ほぼ 1 か月前に行われました。その上で、サイトに次の変更を加えました: 1. パラメータ化されたクエリ 2. の使用Html Encode 3. web.config で RequestValidation="True" を実行し、上記の方法を使用してその攻撃を阻止することに成功しました

1か月後、同じxss攻撃の影響を受けます

それを止めるためにもっとできることについて何か提案があれば教えてください。

4

2 に答える 2

3

xss はほとんどの場合、未加工のコンテンツ (<script>ブロックを含む、ユーザーが入力した html など) をクライアントに (エスケープまたはサニタイズせずに) 直接レンダリングできるようにすることによって発生します。簡単に言えば、それを許可しないでください。次のいずれかを見つけます。

  • コンテンツをエスケープせずにレンダリングする、または
  • サニタイズせずにそのまま表示することを意図した入力(htmlなど)を許可する

それを修正します。ASP.NET aspx の場合、必要に応じて html-encode を行うため、(コンテンツがクリーンであり、生で書かれることを意図していることがわかっている場合を除き)<%:ではなくを使用するようにしてください。cshtml (かみそり) では、とにかくデフォルトでエンコードを行います。<%=@

于 2013-07-10T09:24:20.923 に答える
2

また、Microsoft Anti-Cross Site Scripting Library の使用も検討してください。これは、標準の .NET よりも HTML マークアップのエンコードに適しています。

http://www.microsoft.com/en-us/download/details.aspx?id=28589 
于 2013-07-10T09:28:50.347 に答える