Введение в XPath-инъекции

XPath (XML Path Language) – это язык, который предназначен для произвольного обращения к частям XML документа. XML (eXtensible Markup Language) – это всем известный язык разметки, с помощью которого создаются XML документы, имеющие древовидную структуру. Пример простейшего XML документа:

<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar param="value"/>
</foo>

XPath необходим для получения конкретной информации из XML документов; это достигается путем использования специальных операторов и выражений. Обращение к элементам XML документа с помощью XPath напоминает взаимодействие с файловой системой:
/foo/bar
Этот элементарный XPath-запрос возвратит элемент bar из XML документа выше:

<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar param="value"/>
</foo>

Read more »