XPath-инъекция
Что такое XPath-инъекция?
XPath-инъекцияИнъекционная уязвимость, при которой недоверенный ввод изменяет XPath-запрос к XML-документу, позволяя похитить данные или обойти аутентификацию.
XPath-инъекция возникает, когда приложение собирает XPath-запросы к XML-документу через конкатенацию строк с пользовательским вводом, аналогично классической SQL-инъекции. Атакующий выходит из задуманного выражения с помощью кавычек, булевых тавтологий вроде ' or '1'='1 или комментариев, извлекает произвольные узлы, обходит формы аутентификации, опирающиеся на XML-хранилище, либо выполняет слепую эксфильтрацию через булевы и временные оракулы. Уязвимость чаще встречается в устаревших SOAP-сервисах, конфигурационных бэкендах и приложениях, хранящих учётные данные в XML. Защита — параметризованные XPath-API, строгая валидация по белому списку и перенос конфиденциальных запросов в безопасные хранилища.
● Примеры
- 01
Запрос входа //user[name/text()='admin' or '1'='1' and password/text()='x'] обходит аутентификацию.
- 02
Слепая эксфильтрация через булевы условия вроде substring(//secret,1,1)='a'.
● Частые вопросы
Что такое XPath-инъекция?
Инъекционная уязвимость, при которой недоверенный ввод изменяет XPath-запрос к XML-документу, позволяя похитить данные или обойти аутентификацию. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает XPath-инъекция?
Инъекционная уязвимость, при которой недоверенный ввод изменяет XPath-запрос к XML-документу, позволяя похитить данные или обойти аутентификацию.
Как защититься от XPath-инъекция?
Защита от XPath-инъекция обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия XPath-инъекция?
Распространённые альтернативные названия: Инъекция XPath-запросов.