ホームページ >運用・保守 >安全性 >クロスサイト スクリプティング攻撃の 3 つの主要なタイプは何ですか?

クロスサイト スクリプティング攻撃の 3 つの主要なタイプは何ですか?

王林
王林オリジナル
2020-06-28 16:48:5613130ブラウズ

XSS に対するクロスサイト スクリプティング攻撃には、主に 3 つのタイプがあります: 1. 永続的なクロスサイト、2. 非永続的なクロスサイト、3. DOM クロスサイト。永続的なクロスサイトは最も直接的なタイプの危険であり、クロスサイト コードはサーバーに保存されます。非永続的なクロスサイトは反射型クロスサイト スクリプティングの脆弱性であり、最も一般的なタイプです。

クロスサイト スクリプティング攻撃の 3 つの主要なタイプは何ですか?

1. クロスサイト スクリプティング攻撃の種類:

(1) 持続的なクロスサイト: 最も直接的な種類の危害、クロスサイト攻撃。サーバー (データベース) 上のサイト コード ストレージ。

(2) 非永続的なクロスサイト: 反映されたクロスサイト スクリプティングの脆弱性。最も一般的なタイプです。ユーザーはサーバー間リンクにアクセスし、クロスサイト コードを返します。

(3) DOM クロスサイト (DOM XSS): DOM (ドキュメント オブジェクト モデル、ドキュメント オブジェクト モデル)、クライアント スクリプト処理ロジックによって引き起こされるセキュリティ問題。

(関連する問題について詳しく知りたい場合は、php 中国語 Web サイト にアクセスしてください。)

2. 回避方法は?

Web サイト開発者の観点から、XSS 攻撃から保護するにはどうすればよいですか?

XSS に対する最善の保護には、次の 2 つの方法を組み合わせる必要があります。

1. すべての入力データを検証して攻撃を効果的に検出します;

2. すべての出力データを適切にエンコードして、正常に挿入されたスクリプトがブラウザ側で実行されないようにします。

詳細は次のとおりです:

入力検証: 特定のデータが表示または保存されるとして受け入れられる前に、標準の入力検証メカニズムを使用して長さ、タイプ、構文、およびビジネスが検証されます。すべての入力データのルール。

出力エンコード: データを出力する前に、ユーザーが送信したデータが正しくエンティティ エンコードされていることを確認してください。特定のサブセットに限定するのではなく、すべての文字をエンコードすることをお勧めします。

出力のエンコーディングを明示的に指定する: 攻撃者がユーザーのエンコーディング (ISO 8859-1 や UTF 8 など) を選択できないようにします。

注: ブラックリスト検証方法の制限: 一部の文字 (「<」「>」や「script」に類似したキーワードなど) を検索または置換するだけでも、XSS 亜種攻撃によって簡単にバイパスされる可能性があります 検証メカニズム。

正規化エラーに注意してください: 入力を検証する前に、アプリケーションの現在の内部表現に準拠するように入力をデコードして正規化する必要があります。アプリケーションが同じ入力を 2 回デコードしないようにしてください。

Web サイト ユーザーの観点から、XSS 攻撃から保護するにはどうすればよいですか?

電子メールや添付ファイルを開いたり、フォーラムの投稿を閲覧したりすると、悪意のあるスクリプトが自動的に実行される可能性があります。実行されるため、これらの操作を実行するときは特に注意する必要があります。ブラウザの設定でJavaScriptをオフにすることをお勧めします。 IEブラウザをご利用の場合は、セキュリティレベルを「高」に設定してください。

ここで改めて注意する必要があるのは、XSS 攻撃には実際にはソーシャル エンジニアリングの応用が成功しているということです。セキュリティ意識を高め、信頼できるサイトやコンテンツのみを信頼する必要があります。いくつかの検出ツールを使用して、XSS 脆弱性を検出できます。 XSS の脆弱性による被害は甚大であり、脆弱性が発見された場合には直ちに修復する必要があります。

以上がクロスサイト スクリプティング攻撃の 3 つの主要なタイプは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。