XPathインジェクションについて説明していきます。
■概要
Webアプリケーションで、XML文書を解析する際に発生するセキュリティ上の脆弱性で、XPathインジェクションは、ユーザーの入力を適切に検証・処理せずにXPathクエリに含めることにより、攻撃者が意図しないXPathクエリを実行させることができる脆弱性です。
XPathはXML文書内の要素を指定するためのクエリ言語であり、ウェブアプリケーションでXMLデータを処理する際に利用されることがあります。
■想定される被害
XPathインジェクションによって、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・不正なXPathクエリを実行させることによる機密情報の漏洩
・XPathクエリを改変による認証回避
■対策
XPathインジェクションの対策として挙げられるものは以下のようなものとなります。
・入力値の検証と適切なエスケープ処理を行う。
・XPathクエリを構築する際は、パラメータ化クエリを使用する。