Logo David Burdelak
Słownik · Cyberbezpieczeństwo

Co to jest XXE?

Ostatnia aktualizacja:

XXE (XML External Entity) to podatność parserów XML, w której atakujący wstawia w dokument XML odwołanie do zewnętrznej encji. Parser może wtedy odczytać pliki z serwera, wykonać zapytania do sieci wewnętrznej lub zablokować usługę.

Jak działa atak XXE?

Dokument XML może definiować encję wskazującą na plik, np. file:///etc/passwd. Jeśli parser ją rozwiąże, zawartość pliku pojawi się w odpowiedzi aplikacji. Atak ma podobną naturę do SSRF, bo serwer sam wykonuje żądania wskazane przez napastnika.

Gdzie występuje?

  • API przyjmujące XML, np. SOAP,
  • importery plików (XML, SVG, DOCX i XLSX są archiwami XML),
  • kanały RSS i dane przetwarzane przez parsery w starszych bibliotekach.

Jak się chronić?

Wyłącz obsługę DTD i zewnętrznych encji w parserze, używaj nowszych wersji bibliotek (większość z nich domyślnie ogranicza to ryzyko) i wybieraj JSON tam, gdzie XML nie jest konieczny. Opis podatności i sposobów obrony zawiera OWASP.

Powiązane pojęcia

Wszystkie hasła z kategorii Cyberbezpieczeństwo