Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1256

XPath インジェクション

XPath インジェクション とは何ですか?

XPath インジェクション信頼できない入力により XML 文書に対する XPath クエリが改変され、データ窃取や認証バイパスにつながるインジェクション脆弱性。


XPath インジェクションは、アプリケーションが XML 文書に対する XPath クエリをユーザ入力の文字列連結で組み立てた際に発生し、原理は古典的な SQL インジェクションに似ています。攻撃者はクォート、' or '1'='1 のようなブール式、コメントなどを用いて想定された式から脱出し、任意のノードを取得したり、XML をユーザストアとする認証フォームを回避したり、ブール/時間ベースの盲目的なデータ窃取を行ったりします。レガシーな SOAP サービス、設定バックエンド、XML に資格情報を保存するアプリで多く見られます。対策にはパラメータ化された XPath API、厳格なホワイトリスト検証、より安全なデータストアへの移行があります。

  1. 01

    ログインクエリ //user[name/text()='admin' or '1'='1' and password/text()='x'] による認証回避。

  2. 02

    substring(//secret,1,1)='a' のような条件で盲目的に XPath を抽出する手法。

よくある質問

XPath インジェクション とは何ですか?

信頼できない入力により XML 文書に対する XPath クエリが改変され、データ窃取や認証バイパスにつながるインジェクション脆弱性。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

XPath インジェクション とはどういう意味ですか?

信頼できない入力により XML 文書に対する XPath クエリが改変され、データ窃取や認証バイパスにつながるインジェクション脆弱性。

XPath インジェクション はどのように機能しますか?

XPath インジェクションは、アプリケーションが XML 文書に対する XPath クエリをユーザ入力の文字列連結で組み立てた際に発生し、原理は古典的な SQL インジェクションに似ています。攻撃者はクォート、' or '1'='1 のようなブール式、コメントなどを用いて想定された式から脱出し、任意のノードを取得したり、XML をユーザストアとする認証フォームを回避したり、ブール/時間ベースの盲目的なデータ窃取を行ったりします。レガシーな SOAP サービス、設定バックエンド、XML に資格情報を保存するアプリで多く見られます。対策にはパラメータ化された XPath API、厳格なホワイトリスト検証、より安全なデータストアへの移行があります。

XPath インジェクション からどのように防御しますか?

XPath インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

XPath インジェクション の別名は何ですか?

一般的な別名: XPath クエリインジェクション。

関連用語