コンテンツへスキップ
uencoder

XPath Injection

XPathインジェクションは、攻撃者がクエリ式にXPathメタ文字を注入して認証を迂回したりXMLデータを抽出したりする攻撃である。

目的

XPathクエリの文字列連結によるインジェクションとその防御を理解する。XMLデータ照会でよくある脆弱性である。

メカニズム

プログラムが //user[name=X] のようにXPathを組み立てるとき、攻撃者はXに「 or "1"="1」を設定して常に真となるクエリを作る。防御策はパラメータ化されたXPathと入力のエスケープである。

ユースケース

  • XMLクエリのセキュリティ
  • XPathの監査
  • クエリインジェクションへの防御

関連ツール

References