XML インジェクション
XML インジェクション とは何ですか?
XML インジェクションアプリケーションの XML 処理に悪意ある要素・属性・XPath 断片を差し込み、ロジックを改変したりデータを抜き取ったりする攻撃。
XML インジェクションは、ユーザー入力が適切なエンコードや検証なしに XML 文書・SOAP メッセージ・XPath クエリへ埋め込まれる場合に発生します。攻撃者は新しい要素を追加(XML インジェクション)、文書階層を改変(XML 構造攻撃)、あるいは XPath 式を改変(XPath インジェクション)して、認証回避や権限昇格、XML データソースの任意箇所の読み取りを行います。近縁の攻撃には XML パーサのエンティティ解決機能を悪用する XXE 攻撃があります。対策は、XSD による厳密なスキーマ検証、パラメータ化された XPath API、XML に挿入する不信頼値のエンコード、不要なパーサ機能の無効化、安全なデフォルトを持つ堅牢なライブラリの利用です。
● 例
- 01
<username>admin</username><!--<password>x</password>--> を送信してパスワード要素をコメントアウトし、管理者として認証を通す。
- 02
XPath ログインクエリに ' or '1'='1 を注入し、フェイルオープンな認証で先頭ユーザーになりすます。
● よくある質問
XML インジェクション とは何ですか?
アプリケーションの XML 処理に悪意ある要素・属性・XPath 断片を差し込み、ロジックを改変したりデータを抜き取ったりする攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
XML インジェクション とはどういう意味ですか?
アプリケーションの XML 処理に悪意ある要素・属性・XPath 断片を差し込み、ロジックを改変したりデータを抜き取ったりする攻撃。
XML インジェクション からどのように防御しますか?
XML インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
XML インジェクション の別名は何ですか?
一般的な別名: XPath インジェクション(関連)。