XXE インジェクション攻撃: その概要と防御方法

(へ フランチェスコ・ルゴロ)
29/04/24

に来るとき XXE注射 これは、ハッカーが当社のサーバー上のデータを取得したり、いわゆる攻撃の「エスカレーション」を進めたりして、攻撃対象のサーバーやそれに接続されているその他のインフラストラクチャを侵害する可能性がある、非常に広範囲に及ぶ Web の脆弱性のことを指します。

まず、XXEi の意味を見てみましょう XML 外部エンティティの挿入。ただし、その仕組みを説明するには、XML (XML の頭字語) とは何かを知る必要があります。 拡張マークアップ言語.

つまり、コンピューター サイエンスにおいて、XML はテキスト内の要素とその意味を定義するために使用される言語です。 XML は拡張可能です。つまり、カスタム タグ、つまりドキュメント内の内容を整理および定義するタグを定義できます。

XML ドキュメント内では、オブジェクト自体を使用する代わりに、「エンティティ」を通じてオブジェクトを表現できます。

DTD (文書型定義) ファイルには、XML 文書に含めることができるデータのタイプ、それに割り当てることができる値などを定義するすべての仕様が含まれています。

XML ではエンティティを作成したり、外部エンティティをインポートしたりすることができます。ここで、次の定義を説明します。 外部エンティティ.

Le 外部エンティティ これらは DTD によって定義されていないエンティティですが、DTD の完全に外部にあり、アプリケーションにロードされる URL を通じて指定されます。

この手順がシステムにもたらす可能性のあるリスクを理解するのは難しくありません。

この脆弱性を悪用する最も一般的な攻撃は、データベースからデータとパスワードを盗むことを目的としていますが、最も深刻なシナリオは、この脆弱性を使用してサーバー側のリクエスト フォージェリまたは SSRF 攻撃が実行される場合に発生します。

SSRF は、ハッカーがサーバーに属するアプリケーションを使用して任意の Web アドレスへのリクエストを開始し、最初は攻撃対象のサーバーを侵害し、その後、それに接続されている潜在的に脆弱なインフラストラクチャを侵害する攻撃です。

XXEi は主に、以下を実行するアプリケーションをターゲットとしています。 解析する 構成が弱い XML の (コンポーネント分析など)、信頼できないソースからの XML を受け入れるアプリケーション、および XML の使用を無効にしないアプリケーション 外部エンティティ.

ほとんどの攻撃を回避するには、次のような一連の手段があります。 ベストプラクティス その中で次のことが挙げられます。

- 手順 ホワイトリスト サーバー レベルで、当社のセキュリティ標準に準拠しない入力をブロックすることを目的としています。

- XML データの検証を実行します。

- 外部エンティティを受け入れるための XML パーサーの明白だが使用されないオプションをブロックします。

これらの簡単な対策により、XXE タイプの攻撃の大部分を防ぐことができます。

このタイプの脆弱性を見つけるには、どのような場合でも、非常に便利で強力なツールを使用できます。 げっぷスイート, Web アプリケーションの脆弱性をマッピングし、その特性を分析できるソフトウェアです。

いずれの場合でも、攻撃の大部分はソフトウェアの脆弱性の存在によるものであり、安全な開発に対する十分な準備が必ずしも整っていないプログラマーによるエラーが原因であることを覚えておくと有益です。そのため、このような声をよく聞くようになりました。ソフトウェア開発とセキュリティに密接に関連する概念である DevOps と DevSecOps のトレーニングについて説明します。

シトグラフィー:

https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_処理中

https://portswigger.net/burp/documentation

https://www.redhat.com/it/topics/devops

https://www.pluribus-one.it/it/servizi/formazione/offerta-formativa-2

https://owasp.org/www-project-devsecops-guideline

https://abu-talha.medium.com/xml-external-entity-xxe-attacks-understandi... (画像を取得したサイト)