Webセキュリティ_一般的な攻撃手法

Webセキュリティ_一般的な攻撃手法

一般的な攻撃手法
1. クロスサイト スクリプティング攻撃 XSS
XSS の原因: クライアントから送信されたデータを信頼しすぎる
悪意のある攻撃者が Web ページに悪意のあるスクリプト コードを挿入し、ユーザーがページを閲覧すると、Web ページに埋め込まれたスクリプト コードがユーザーを悪意的に攻撃する目的を達成するために、web が実行されます。
XSS の分類:
1. 反射型は
ユーザーの入力をブラウザーに「反映」します。通常、攻撃者が攻撃を成功させるには、ユーザーに悪意のあるリンクをクリックさせる必要があります。
2. 保存型
ユーザーが入力したデータは「サーバー側に保存」され、攻撃者が悪意のあるコードを含むブログを公開し、他の人が閲覧すると悪意のあるコードが実行されるというシナリオが一般的です。
3.
DOM Based のタイプは、データがサービスに保存されているかどうかによって分類されません。この種の攻撃の理由は非常に特殊であり、ページの DOM ノードを変更して XSS を形成するためです。別のカテゴリとしてリストされています

例 1
通常どおりメッセージを送信します。 http://www.test.com/message.html?send=Hello, World! 受信者はメッセージを受信し、「Hello, Word」と表示されます。

メッセージの異常送信: (1).http://www.test.com/message.html?send=! 受信者がメッセージを受信すると、警告ウィンドウがポップアップし、攻撃者は他のユーザーがこのリンクをクリックして攻撃を開始するように誘導します。

(2). http://xxx/?redirect_to=javascript:alert('XSS') は
特殊文字であるだけでなく、javascript: のような文字列でも、特定の位置に出現すると XSS 攻撃を引き起こす可能性があります。

例 2
ページの背景に、ユーザーが送信した入力を変更できる入力要素があります
。通常の状況: ユーザーは背景のラベルである 123 を入力します。

異常事態:
(1) ユーザーが「onclick=alert(1)」と入力し、管理者が背景ラベルのラベルをクリックすると、警告ウィンドウがポップアップします。

XSS の危険性:
1. ユーザーの Cookie データを盗み、ユーザーのプライバシー情報を取得します。
2. ユーザーのブラウザ セッションをハイジャックして、不正な転送、ログの強制公開、電子メールの送信などの任意の操作を実行します。
XSS 防御:
1. 入出力フィルタリングを実行します。 、コンテンツ エンコーディング
2、HttpOnly は、js が Cookie を操作してユーザーの Cookie データを盗み、それによってユーザーのプライバシー情報を取得することを禁止します。

XSS の挿入方法は次のとおりです。
 HTML に埋め込まれたテキストに、悪意のあるコンテンツがスクリプト タグとして挿入されます。
 インライン JavaScript では、連結されたデータは元の制限 (文字列、変数、メソッド名など) を突破します。
 label 属性には、属性値の制限を突破して他の属性またはラベルを挿入するために、悪意のあるコンテンツに引用符が含まれています。
javascript: などの実行可能コードをタグの href、src およびその他の属性に含めます。
 onload、onerror、onclick およびその他のイベントに制御されていないコードを挿入します。
スタイル属性とタグに、background-image:url(“javascript:…”); のようなコードを含めます (ブラウザの新しいバージョンでは、これをすでに防ぐことができます)。
expression(…) のような CSS 式コードは、スタイル属性とタグに含まれています (新しいバージョンのブラウザーはすでにそれを防ぐことができます)。
つまり、開発者が適切なフィルタリングを行わずにユーザーが入力したテキストを HTML に挿入すると、インジェクションの脆弱性が発生しやすくなります。攻撃者は脆弱性を利用して悪意のあるコード命令を作成し、悪意のあるコードを使用してデータのセキュリティを危険にさらす可能性があります。

2. クロスサイト リクエスト フォージェリ CSRF
CSRF の原因: 重要なリクエスト操作のパラメータが攻撃者によって推測される可能性がある攻撃者は同一オリジン ポリシーの制限を回避して偽装リクエストを送信し、関連する ID 情報も含まれるクッキーに入れて送信します。
攻撃者があなたの ID を盗み、あなたの名前で悪意のあるリクエストを送信しました。このリクエストはサーバーにとって完全に合法ですが、攻撃者が予期した操作を完了しています。

例 1
銀行振込
1. ユーザーは銀行の Web サイトにログインし、銀行振込リクエストの URL は http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory です。 2. このとき、ユーザーは悪意のある Web サイトにアクセスします
。 Web サイト
3.悪意のある Web サイトで Img が使用されている タグは同一生成元ポリシーをバイパスして銀行サーバーへのリクエストを開始し、Cookie 内の ID 情報もリクエストとともに送信され、攻撃が完了します。

CSRF 防御
1. リファラー チェック リクエスト内のリファラー ヘッダーをチェックし、リクエストが正規の Web サイトから開始されたものでない場合、サービスは拒否されます。ただし、サーバーがリファラーを常に取得できるとは限らないという欠点があります。
2. アンチ CSRF トークン リクエスト URL またはリクエスト ヘッダーにトークンを追加します。攻撃者はトークンを知らなければ攻撃を成功させることができません。

3.
クリックジャッキングの原理 クリックジャッキング: 視覚的な欺瞞を使用する

攻撃方法:
1. 攻撃者は、Web ページを透明な iframe で覆い、ユーザーをそのページ上で操作するよう誘導しますが、このときユーザーは知らず知らずのうちに透明な iframe ページを操作することになり、表示されたページ
2。攻撃者は、画像を使用して Web ページをオーバーレイし、Web ページの元の位置の意味をブロックします。

例1では、
antd-designページをiframeで読み込み、そのページのロゴをaタグで覆い、ロゴをクリックするとaタグが指すページにジャンプします。

防御:
X-FRAME-OPTIONS は Microsoft によって提案された http ヘッダーであり、iframe ネストを使用したクリックジャッキング攻撃を防御するために特に使用されます。
DENY // ドメインのロードを拒否します
SAMEORIGIN // 同一オリジン ドメインのロードを許可します
ALLOW-FROM // フレームのロードを許可するページ アドレスを定義できます

おすすめ

転載: blog.csdn.net/qq_43148113/article/details/102571379