- Регистрация
- 13 Июн 2025
- Сообщения
- 26
- Реакции
- 1
- Баллы
- 3
Что такое XXE?
XML External Entity (XXE) — это уязвимость, позволяющая читать локальные файлы на сервере, выполнять SSRF и даже RCE через обработку XML.
Как работает уязвимость?
Когда приложение обрабатывает XML с внешними сущностями без должной защиты, можно:
1. Читать локальные файлы
2. Делать запросы к внутренним сервисам (SSRF)
3. В некоторых случаях выполнять код
Пример уязвимого XML:
Чем опасна XXE?
• Чтение конфиденциальных файлов (/etc/passwd, .env и др.)
• SSRF-атаки на внутренние сервисы
• DoS через Billion Laughs атаку
• В редких случаях — RCE
Как обнаружить?
1. Попробуйте простые payload-ы:
- Чтение файлов: <!ENTITY xxe SYSTEM "file:///etc/passwd">
- SSRF: <!ENTITY xxe SYSTEM "http://internal.service">
2. Проверьте Content-Type (application/xml)
3. Ищите XML-парсеры (DOMDocument, SimpleXML и др.)
Методы защиты
• Отключение обработки внешних сущностей
• Использование JSON вместо XML
• Валидация и санитизация входных данных
• Ограничение прав парсера XML
Реальные примеры (CVE)
• CVE-2019-17572 — XXE в Apache Solr
• CVE-2019-0227 — Уязвимость в Apache Axis
• Уязвимость в некоторых SOAP-сервисах
Важно: Тестируйте XXE только на системах, где у вас есть разрешение!
XML External Entity (XXE) — это уязвимость, позволяющая читать локальные файлы на сервере, выполнять SSRF и даже RCE через обработку XML.
Как работает уязвимость?
Когда приложение обрабатывает XML с внешними сущностями без должной защиты, можно:
1. Читать локальные файлы
2. Делать запросы к внутренним сервисам (SSRF)
3. В некоторых случаях выполнять код
Пример уязвимого XML:
Код:
<?xml version="1.0"?>
<!DOCTYPE data [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<data>&xxe;</data>
Чем опасна XXE?
• Чтение конфиденциальных файлов (/etc/passwd, .env и др.)
• SSRF-атаки на внутренние сервисы
• DoS через Billion Laughs атаку
• В редких случаях — RCE
Как обнаружить?
1. Попробуйте простые payload-ы:
- Чтение файлов: <!ENTITY xxe SYSTEM "file:///etc/passwd">
- SSRF: <!ENTITY xxe SYSTEM "http://internal.service">
2. Проверьте Content-Type (application/xml)
3. Ищите XML-парсеры (DOMDocument, SimpleXML и др.)
Методы защиты
• Отключение обработки внешних сущностей
• Использование JSON вместо XML
• Валидация и санитизация входных данных
• Ограничение прав парсера XML
Реальные примеры (CVE)
• CVE-2019-17572 — XXE в Apache Solr
• CVE-2019-0227 — Уязвимость в Apache Axis
• Уязвимость в некоторых SOAP-сервисах
Важно: Тестируйте XXE только на системах, где у вас есть разрешение!