XXE-Injektionsangriff: Was es ist und wie man es verhindert

(Di Francesco Rugolo)
29/04/24

Wenn es um die XXE-Injektion Wir beziehen uns auf eine sehr weit verbreitete Web-Schwachstelle, die es einem Hacker ermöglicht, Daten auf unseren Servern in Besitz zu nehmen oder eine sogenannte „Eskalation“ des Angriffs durchzuführen, die den angegriffenen Server und andere damit verbundene Infrastrukturen gefährden könnte.

Schauen wir uns zunächst an, was XXEi bedeutet XML-Injection externer Entitäten. Um zu erklären, wie es funktioniert, müssen wir jedoch wissen, was XML ist, ein Akronym für Erweiterbare Auszeichnungssprache.

Kurz gesagt ist XML in der Informatik eine Sprache, die zur Definition von Elementen und ihrer Bedeutung innerhalb eines Textes verwendet wird. XML ist erweiterbar, das heißt, es ermöglicht Ihnen die Definition benutzerdefinierter Tags, Tags, die organisieren und definieren, was in unserem Dokument enthalten ist.

Innerhalb des XML-Dokuments kann ein Objekt durch eine „Entität“ dargestellt werden, anstatt das Objekt selbst zu verwenden.

In der DTD-Datei (Dokumenttypdefinition) befinden sich alle Spezifikationen, die die Datentypen definieren, die unser XML-Dokument enthalten kann, die Werte, die ihm zugewiesen werden können und mehr.

XML ermöglicht die Erstellung von Entitäten oder die Möglichkeit, externe Entitäten zu importieren, und hier sind wir bei der Definition von externe Stellen.

Le externe Stellen Es handelt sich um Entitäten, die nicht durch unsere DTD definiert sind, sondern völlig außerhalb dieser liegen und über eine URL angegeben werden, von der aus sie in die Anwendung geladen werden.

Nun ist es nicht schwer, die Risiken zu verstehen, die dieses Verfahren für unsere Systeme darstellen könnte.

Die häufigsten Angriffe, die diese Schwachstelle ausnutzen, zielen darauf ab, Daten und Passwörter aus unseren Datenbanken zu stehlen. Das schwerwiegendste Szenario tritt jedoch ein, wenn diese Schwachstelle zur Durchführung eines Server-Side Request Forgery- oder SSRF-Angriffs genutzt wird.

SSRF ist ein Angriff, bei dem der Hacker eine zum Server gehörende Anwendung nutzen kann, um Anfragen an beliebige Webadressen zu initiieren und zu einer Kompromittierung zunächst des angegriffenen Servers und anschließend aller mit ihm verbundenen und potenziell angreifbaren Infrastruktur führt.

Das XXEi zielt hauptsächlich auf Anwendungen ab, die Folgendes ausführen Parsing (d. h. eine Komponentenanalyse) von XML mit schwacher Konfiguration, Anwendungen, die XML aus nicht vertrauenswürdigen Quellen akzeptieren, und Anwendungen, die die Verwendung von nicht deaktivieren externe Stellen.

Um die meisten Angriffe abzuwehren, gibt es eine ganze Reihe von Best Practices unter denen wir erwähnen können:

- das Verfahren Whitelisting auf Serverebene, die darauf abzielt, alle Eingaben zu blockieren, die nicht unseren Sicherheitsstandards entsprechen;

- eine Validierung der XML-Daten durchführen;

- Blockieren Sie die offensichtliche, aber oft ungenutzte Option von XML-Parsern, externe Entitäten zu akzeptieren.

Mit diesen einfachen Maßnahmen lässt sich ein Großteil der Angriffe vom Typ XXE verhindern.

Um Schwachstellen dieser Art zu finden, können wir auf jeden Fall ein sehr nützliches und leistungsstarkes Tool namens verwenden Burp Suite, eine Software, die in der Lage ist, die Schwachstellen einer Webanwendung abzubilden und ihre Eigenschaften zu analysieren.

In jedem Fall ist es immer nützlich, sich daran zu erinnern, dass die meisten Angriffe auf das Vorhandensein von Schwachstellen in der Software zurückzuführen sind, die auf Fehler von Programmierern zurückzuführen sind, die nicht immer ausreichend auf eine sichere Entwicklung vorbereitet sind, weshalb wir immer häufiger davon hören über Schulungen für DevOps und DevSecOps, Konzepte, die eng mit Softwareentwicklung und Sicherheit verbunden sind.

Sitographie:

https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Verarbeitung

https://portswigger.net/burp/documentation

https://www.redhat.com/it/topics/devops

https://www.pluribus-one.it/it/servizi/formazione/offerta-formativa-2

https://owasp.org/www-project-devsecops-guideline

https://abu-talha.medium.com/xml-external-entity-xxe-attacks-understandi... (Seite, von der das Bild aufgenommen wurde)