質問

非常に大規模なコード ベースで XSS 脆弱性の恒久的な修正に取り組んでいる間、重大なリスクを軽減するための一時的なクイック フィックスとして、XSS から適切に保護する既存の XSS 防止ブラックリストを探しています。

正規表現のセットが望ましいです。テストやスモークテストなどのためのチートシートがたくさんあることは知っていますが、私が探しているのは、攻撃をブロックするための事前調整された正規表現です。

最善の方法であることは十分に承知しています 出力エスケープ または、ホワイトリストを使用するためにユーザーからのマークアップが必要な場合。しかし、コード ベースのサイズを考慮すると、実際の解決策に取り組みながら、脆弱性の直接的な影響を軽減し、基準を引き上げるために、早急に何かを行う必要があります。

誰か良いセットを知っている人はいますか?

役に立ちましたか?

解決

これがあなたの質問に対する直接の答えではないかもしれないことは承知していますが、同様の状況にある ASP.NET 開発者にとっては、これが役に立つかもしれません。

Microsoft アンチクロスサイト スクリプティング ライブラリ V1.5

このライブラリは、「包含原理」技術を使用して XSS 攻撃に対する保護を提供するという点で、ほとんどのエンコード ライブラリとは異なります。このアプローチは、最初に有効または許容される文字セットを定義し、このセット以外のもの (無効な文字または潜在的な攻撃) をエンコードすることで機能します。インクルージョンの原則のアプローチは、XSS 攻撃に対する高度な保護を提供し、高度なセキュリティ要件を持つ Web アプリケーションに適しています。

他のヒント

ここにその 1 つがあります: http://ha.ckers.org/xss.html しかし、それが完了したかどうかはわかりません。

CAL9000 も同様のものが見つかるリストです。

PHP を使用しているかどうかはわかりませんが、使用している場合は次を参照してください。 HTMLピューリファー. 。使い方は非常に簡単です。に呼び出しを追加するだけです purify() 入力を受け入れるメソッド、または入力を出力するメソッド。そのホワイトリストベースのアプローチは、私がテストしたすべての XSS 攻撃をブロックします。

ha.ckers.org/xss.html にあるチートシートは完全ではありません。私の同僚が、そこに載っていないものを 1 つか 2 つ見つけました。RSnake は、各攻撃文字列が通過する正規表現フィルターの多くをリストします。いくつか使用すれば十分な穴を塞ぐことができます。

それは良い出発点となるでしょう。少なくとも、どのようなものを探す必要があるのか​​を知るためです。

これを出発点として使用し、作成するスクリプトがブラックリストに含まれない攻撃を無害なものにするのに十分な文字をエスケープするようにしてください。xss インジェクションをレンダリングできるブラウザーがなければ、xss インジェクションは何の役に立ちますか?

実際には、ここで適切な文字を十分にエスケープすることが最も効果的です。すべての < を に変換するスクリプトに XSS を挿入するのは非常に困難です。 &lt; そして「に逃げます」 &quot;.

Apacheを実行している場合は、次のように使用できます mod_security いくつかの穴を塞ぐためです。少なくとも、ツール ( コンソール またはプレーンなログファイル)トラフィックを監視し、手遅れになる前に対応します。また、 gotroot.com には、Web アプリケーションに関する興味深いルールがいくつかあります。

繰り返しになりますが、どのような穴を塞いでいるのかはよくわかりません。

必要なのは IDS (侵入検知システム) です。PHP を使用している場合は、 フィピド. 。優れたハッカー コミュニティによって維持およびテストされています。彼らは、Rsnake の元のリストをはるかに超えて、フィルターを改善するためにあらゆる種類のことを行ってきました。どこかに .NET ポートもありましたが、それがまだ維持されているかどうかはわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top