Зміст:
Визначення - Що означає XPath Injection?
Введення XPath - це метод атаки, що використовується при використанні програм, що використовуються для побудови запитів XPath на основі введених користувачем входів. Він може використовуватися безпосередньо програмою для запиту XML-документа, навіть як частина більшого процесу, такого як перетворення XSLT в документ XML. Порівняно з ін'єкціями SQL, ін'єкції XPath є більш руйнівними, оскільки XPath не має контролю доступу та забезпечує запит на повну базу даних. Повний запит до бази даних SQL є складним, оскільки метатабелі не можуть бути запитувані за допомогою звичайних запитів.
Техопедія пояснює XPath Injection
XPath, будучи стандартною мовою, має синтаксис, незалежний від реалізації. Це робить напад більш автоматизованим за своєю суттю. Напад ін'єкції XPath працює аналогічно, як і для ін'єкцій SQL. Веб-сайт використовує надану користувачем інформацію для побудови запиту XPath для XML-даних. Неправильно сформована інформація навмисно вводиться на веб-сайт, що дозволяє зловмиснику з'ясувати спосіб, за яким структуруються XML-дані, щоб отримати доступ до даних, які в іншому випадку залишалися б несанкціонованими. Потім зловмисники можуть приступити до підвищення привілеїв, які вони мають на веб-сайті, маніпулюючи процесом аутентифікації даних XML. Іншими словами, як і SQL-ін'єкція, методика полягає у визначенні певних атрибутів та отримання шаблонів, які можна зіставити, які потім дозволяють зловмиснику обходити аутентифікацію або отримувати доступ до інформації несанкціонованим чином. Найбільша різниця між інжекцією XPath та ін'єкцією SQL полягає в тому, що для введення XPath використовується файли XML для зберігання даних, тоді як SQL використовує базу даних.
Введення XPath можна запобігти за допомогою засобів захисту, таких як санітарія входів користувачів або трактування всіх даних користувачів як недовірених та виконання необхідних методів санітарії або проведення широкого тестування додатків, які постачають або використовують дані користувача.