XXE Инъекционные атаки – Уязвимость XML External Entity с примерами |

XXE Инъекционные атаки – Уязвимость XML External Entity с примерами

Мануал

Введение

XXE инъекции ли внешние уязвимости XML – это особый тип атаки на стороне сервера или SSRF-атаки, связанный с злоупотреблением функциями в XML-синтаксических парсерах.

Функции через которые эти атаки идут, широко доступны, но редко используются, и когда они запускаются, могут вызывать атаку DoS (отказ в обслуживании), а в некоторых случаях гораздо более серьезную эскалацию, например, извлечение конфиденциальных данных или в худшем случае RCE или удаленное выполнение кода.

Что такое XML?

Согласно википедии: расширяемый язык разметки. Рекомендован Консорциумом мира паутины (W3C). Спецификация XML-описания XML-документы и отделение поведения XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому).

Что такое атака XXE

Дело в том, что сущности XML могут быть определены где угодно, в том числе и извне,если находится приложение XXE, и злоумышленник может злоупотреблять полномочиями с помощью объектов XML, чтобы запросить выполнение определенных файлов или даже вернуть содержимое файлов, если они знают структуру вашего веб-приложения, например.

Также стоит упомянуть, что с некоторыми синтаксическими анализаторами XML даже можно получить списки каталогов в дополнение к содержимому файла.

Пример атаки XXE

Пример будет выглядеть так:

Запрос

 POST http://example.com/xml HTTP/1.1

<!DOCTYPE foo [
<!ELEMENT foo ANY>
<!ENTITY bar SYSTEM
"file:///etc/lsb-release">
]>
<foo>
&bar;
</foo> 
Отклик

 

 HTTP/1.0 200 OK

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
Очевидно, что это простой пример, но его можно использовать для echo / etc / passwd, получить секреты из репозитория исходного кода или выполнить вредоносный код (например, веб-оболочку), если злоумышленнику удалось загрузить что-то.
Вы можете узнать больше, гораздо глубже:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий