Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

反射型と保存型の 2 種類のXSSエクスプロイトについてはすでに述べましたが、それらはすべて、危険なコードが挿入された後、サーバーの応答後に実行される、つまりエラーがサーバー側にあるという共通の特徴を持っています。この機能に反する別のタイプの XSS 悪用もあり、DOM ベース XSS またはタイプ 0 XSS とも呼ばれる、サーバーを経由せずにクライアント側で悪意のあるコードが即座に実行されます。

まず最初に、DOM とは何なのかを知る必要があります。

DOM は Document Object Model の略で、HTML や XML などの構造化ドキュメントのデータを取得および操作するために提案された W3C (http://www.w3.org/DOM/) の標準形式です。このモデルは、ドキュメントを階層ツリー構造として表します。 HTML および XML のすべての要素はノードとみなされます。

DOM ベース XSS は、ドキュメント、特に HTML の DOM 構造の変更に基づいた XSS 活用手法です。

以下に具体的な例を見てみましょう。

Web サイトには、登録ページへの次の URL があります。

example.com/register.php?message=Please fill in the form

これにアクセスすると、非常に通常のフォームが表示されます。

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

この通知のソース コードをよく見ると、フォーム上の通知コンテンツに渡されるメッセージ パラメーターを簡単に推測できます。

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

JavaScript セグメントは、メッセージ パラメーターから値を取得して出力する役割を果たします。この緩い入力チェックにより、ユーザーをだまして危険な URL にアクセスさせる可能性は十分にあります。

キャストの代わりに:

message=Please fill in the form

次に送信します:

message=GenderMaleFemale

function show(){alert();}

すると、登録フォームは次のようになります。

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

ユーザーはこのような「通常の」フォームを疑うことはなく、性別を選択するとスクリプトが実行されます。

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

message パラメータで渡される値についてもう少し詳しく説明します。

GenderMaleFemale

function show(){alert();}

その主な目的は、select タグで onchage イベントが発生するたびに show() 関数を実行することですが、ここでの show() 関数は単にスクリプトが実行されたことを示すためにポップアップ表示されます。ただし、実際には、ハッカーはこの show() 関数を使用して、ユーザーの Cookie 値を所定のサーバーに送信するスクリプトを実行することがよくあります。読者は、ハッカーがどのようにこのリクエストを作成するかについて言及している記事「Reflected XSS」を参照することができます。

この例から 2 つの重要な結論が得られます。まず、悪意のあるコードは、select タグ内の値をクリックするとすぐに実行されました。これは、サーバーの応答を経由せずに、クライアント側で直接実行されたことを意味します。次に、渡されたスクリプトによって HTML 構造が変更されています。また、実際の悪用シナリオも確認できます。ユーザーをだまして悪意のあるコードが埋め込まれた URL にアクセスさせるという点では、DOM Based は Stored XSS よりも Reflected XSS にやや似ています。

次の図は、DOM ベースの XSS 攻撃手法を実装する各ステップを説明しています。

Web9: XSS 悪用の種類 - パート 3: Dom ベースの XSS

以下は、WhiteHat.vn フォーラムのメンバーが DOM ベースの XSS を介してエクスプロイトを実行しているビデオです。

幸運を!


Windows 10で画面右隅に表示される著作権侵害の通知を削除する方法

Windows 10で画面右隅に表示される著作権侵害の通知を削除する方法

画面の右隅に Windows 10 のライセンス認証通知が表示されますか?この記事では、Windows10で著作権侵害の通知を削除する方法をご紹介します。

Windows 10 ビルド 14393.222 をインストールする方法に関する AZ からの指示

Windows 10 ビルド 14393.222 をインストールする方法に関する AZ からの指示

最近 Microsoft は、Windows 10 PC ユーザー向けにビルド 14393.222 と呼ばれる最新の累積的な更新プログラムをリリースしました。 Windows 10 向けにリリースされたこの更新プログラムは、主にユーザーのフィードバックに基づいてバグを修正し、オペレーティング システムのパフォーマンス エクスペリエンスを向上させます。

わずか 3 ステップで Bastion ホストを使用してコンピュータ ネットワークを保護します

わずか 3 ステップで Bastion ホストを使用してコンピュータ ネットワークを保護します

ローカル ネットワーク上に外部アクセスが必要なコンピュータはありますか?要塞ホストをネットワークのゲートキーパーとして使用することは、良い解決策となる可能性があります。

キーボードが使用できない場合に Windows キーを作成する方法

キーボードが使用できない場合に Windows キーを作成する方法

IBM モデル M など、物理的な Windows キーが含まれていない古いクラシック キーボードを使用したい場合は、頻繁に使用しないキーを借用してキーを追加する簡単な方法があります。

Windows 10 のすべてのイベント ログをすばやくクリアする 3 つの方法

Windows 10 のすべてのイベント ログをすばやくクリアする 3 つの方法

場合によっては、古いイベント ログを一度に削除する必要があるかもしれません。このガイドでは、Quantrimang.com が、Windows 10 イベント ビューアーですべてのイベント ログをすばやく削除する 3 つの方法を紹介します。

偽の IP メソッドを使用すると、匿名でアクセスできます

偽の IP メソッドを使用すると、匿名でアクセスできます

これまでの多くの記事で、オンラインで匿名性を保つことが非常に重要であると述べてきました。個人情報の漏洩は毎年発生しており、オンラインセキュリティの必要性はますます高まっています。これが、仮想 IP アドレスを使用する必要がある理由でもあります。以下では、偽の IP を作成する方法について学びます。

Windows 10で透明背景モードを作成する方法

Windows 10で透明背景モードを作成する方法

WindowTop は、Windows 10 コンピューター上で実行されているすべてのアプリケーション ウィンドウとプログラムを暗くする機能を備えたツールです。または、Windows で暗い背景インターフェイスを使用することもできます。

Windows 8 タスクバーの言語バーをオフにする方法

Windows 8 タスクバーの言語バーをオフにする方法

Windows 8 の言語バーは、デスクトップ画面に自動的に表示されるように設計された小型言語ツールバーです。しかし、多くの人はタスクバー上のこの言語バーを非表示にしたいと考えています。

LinksysルーターのWEP、WPA、WPA2の設定方法

LinksysルーターのWEP、WPA、WPA2の設定方法

今日、ワイヤレス接続は必需品であり、そのため、内部ネットワークの安全を確保するにはワイヤレス セキュリティが不可欠です。

Linksys が提供するインターネット接続速度を最適化するためのヒント

Linksys が提供するインターネット接続速度を最適化するためのヒント

ネットワーク接続を最適化するには、インターネット速度を最大化することが不可欠です。コンピューター、インターネット対応テレビ、ゲーム機などを使用して、最適なエンターテイメントと仕事体験を実現できます。