2017-03-23 8 views
0

私が開発した内部Webアプリケーションは、すぐにペンでテストされます。 Windows認証を使用します。XSSを防ぐためのユーザー入力のサニタイズ

AJAXがかなりあります。私は最近、クロスサイトスクリプティングについて読んでいました。https://en.wikipedia.org/wiki/Cross-site_scripting

この記事では、ユーザー入力をサニタイズする方法について説明しています。 JavaScript/Jqueryでこれを行う関数はありますか?

たとえば、ユーザが<script type='text/javascript'>alert('xss');</script>と入力した場合、これをどのように消毒できますか? SQLインジェクション攻撃を防ぐために、コマンドパラメータを使用します。コマンドパラメータは.NETに組み込まれています。

私は不適切なタグを自分で置き換えることができましたが、最初にこれを行う方法がないことを確認したかったのです。私はグーグルで時間を過ごしましたが、私の特定の質問に対する答えは見つかりませんでした。

+0

OWASPの推奨事項をご覧ください。https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet –

答えて

0

HTMLではなく、ユーザー入力を常にテキストとして扱います。

だから、あなたがしたい、あなたはdivの中にユーザー入力を表示したいと言う:

$("#mydiv").text(userInput); 

これは、自動的に入力を「サニタイズ」します(それは本当に、以下を参照しません)、あなたは」入力HTMLはHTMLとして注入されるのではなく、テキストとして表示されます。もちろん、.html()を使用した場合は、そのままダンプされます。

実際に起こっているのは、何かをHTMLではなくテキストとして扱う明示的な指示をブラウザーに与えている(つまり、jqueryである)ということです。最初は解析しないようにしています。それは何かを浄化しようとすることと比較して、それは解析するだろう。

関連する問題