SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

코더들이 보안을 정복하다: 공유 및 학습 시리즈 - XXE Injection

Veröffentlicht Aug 01, 2019
Zuletzt aktualisiert am 09. März 2026

Der Angriff "XML External Entity Injection", manchmal einfach als XXE-Injektion abgekürzt, ist relativ neu im Vergleich zu einigen der klassischen Schwachstellen, die auch Jahre nach ihrer Entstehung noch die Runde machen. Aber sie ist in den Hacker-Communities derzeit extrem beliebt und wird mit zunehmenden Erfolgen immer beliebter.

Tatsächlich listet OWASP XXE Injection jetzt als eine der zehn größten Schwachstellen auf, auf die Websites achten und sich aktiv dagegen schützen müssen. Aber keine Sorge, XXE Injection ist nicht mächtiger als andere Exploits, die bei Cyberangriffen eingesetzt werden. Sie ist nur ein bisschen neuer und weniger bekannt. Sie kann verhindert und sogar komplett gestoppt werden.

In dieser Folge lernen wir:

  • Wie Angreifer XXE-Injektionen verwenden
  • Warum die XXE-Injektion gefährlich ist
  • Techniken, die diese Sicherheitslücke verhindern können.

Wie lösen Angreifer eine XXE-Injektion aus?

Die XXE-Injection-Schwachstelle kann auftreten, wenn ein böswilliger Benutzer die Möglichkeit erhält, XML-Code zu übermitteln. Er nutzt diese Fähigkeit, um einen Verweis auf eine externe Entität zu erstellen. Der externe Verweis und der Code sind so konzipiert, dass sie an einem XML-Parser mit Standardeinstellungen oder einem mit schwach konfigurierten Einstellungen vorbeigehen.

Der Angreifer nutzt die Tatsache aus, dass der XML-Standard das Konzept einer Entität als eine Speichereinheit irgendeiner Art definiert, wobei dieser Speicher extern oder intern sein kann. Richtig eingesetzt, kann er XML-Prozessoren den Zugriff auf entfernte Ressourcen ermöglichen. Meistens nutzen Angreifer diese Fähigkeit, um z.B. die interne Struktur einer Website zu sondieren, eine Denial-of-Service-Attacke zu starten, indem sie große Systemprozesse auslösen, die versuchen, auf Remote-Ressourcen zuzugreifen, oder sogar Daten von einem lokalen Host auf einen Remote-Host zu dumpen, den sie kontrollieren ", was es zu einer guten Technik macht, um wichtige Daten wie Passwörter oder persönliche Informationen, die in der XML-Datenbank enthalten sind, zu exfiltrieren.

Der eigentliche Code, der in den Angriff involviert ist, ist oft recht simpel und nutzt lediglich die Funktionalität der Entität aus. Dies könnte einem Hacker beispielsweise den Zugriff auf die Master-Kennwortdatei ermöglichen:

<!ENTITY hackwithxxe SYSTEM file:///etc/password>

Warum ist die XXE-Injektion gefährlich?

Es gibt ein paar Gründe, warum XXE-Injection-Angriffe so gefährlich und auch weit verbreitet sind. Zum einen ist es eine noch wenig bekannte Sicherheitslücke. Und die Gewinne, die ein Angreifer durch das Ausnutzen dieser Schwachstelle erzielen kann, sind beträchtlich. Zum einen kann sie hartnäckigen Angreifern erlauben, langsam alle Pfade in einem internen Netzwerk abzubilden oder sogar Ports zu scannen. Obwohl dies eine gewisse Zeit in Anspruch nehmen kann, besteht fast keine Chance, dass die Aktivitäten eines Hackers von aktiven Verteidigungsmaßnahmen im Zielnetzwerk aufgedeckt werden, da er einfach XML-Code an einen Server sendet, der von dem vertrauenswürdigen XML-Parser freigegeben wird.

Sobald eine Zuordnung erfolgt ist, können Angreifer dieselben XXE-Injection-Techniken verwenden, um beliebige Dateien zu erbeuten, entweder direkt, um Informationen zu stehlen, oder indem sie gültige Benutzeranmeldeinformationen kompromittieren und sie für sekundäre Angriffe verwenden. Schließlich können Angreifer, die einfach nur Lärm machen und böswillig sein wollen, Dinge wie das Auslösen von Denial-of-Service-Angriffen tun, indem sie der Anwendung befehlen, zu versuchen, auf entfernte Ressourcen zuzugreifen, um das System lahmzulegen.  

Beseitigung der XXE-Injection-Schwachstelle

Aufgrund der rapiden Zunahme von XXE-Injection-Attacken gehen viele XML-Parser dazu über, externe Entitäten, manchmal auch DTDs genannt, standardmäßig komplett zu deaktivieren. In diesen Fällen besteht der Schlüssel darin, diese Funktionalität einfach nicht zu aktivieren.

Aber auch bei Parsern, die DTDs zulassen, kann diese Funktionalität deaktiviert werden. Im Allgemeinen wird eine Anweisung wie die folgende benötigt, um sie vollständig zu blockieren, aber sehen Sie in der Dokumentation Ihres lokalen Frameworks nach, um den genauen benötigten Code zu erhalten.

factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);

Gemäß den Sicherheitsprinzipien sollten alle Benutzereingaben mit anwendungsweiten Filtern bereinigt und validiert werden. Vergessen Sie nicht, GET- und POST-Parameter, HTTP-Header und Cookies einzubeziehen. Sie können auch eine Whitelist mit bestimmten DTDs und Befehlen erstellen, die der Parser verarbeiten soll, und alles andere verbieten.

Obwohl Whitelisting und Filterung funktionieren, wird aufgrund der steigenden Anzahl von XXE-Injection-Angriffen dennoch empfohlen, die DTD-Unterstützung komplett zu deaktivieren, wenn die Funktionalität nicht benötigt wird.

Mehr Informationen über XXE Injections

Als weitere Lektüre können Sie einen Blick darauf werfen, was OWASP über XXE-Injection-Angriffe sagt. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Secure Code Warrior Plattform testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr darüber zu erfahren, wie Sie diese Schwachstelle und andere Bedrohungen abwehren können, besuchen Sie den BlogSecure Code Warrior .

Ressourcen anzeigen
Ressourcen anzeigen

간단히 XXE 인젝션이라고도 하는 XML 외부 엔티티 인젝션 (External Entity Injection) 공격은 비교적 새로운 공격이지만, 현재 해킹 커뮤니티에서 매우 인기가 있으며 성공을 거두면서 그 수가 더욱 증가하고 있습니다.

Sind Sie an weiteren Informationen interessiert?

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbaren
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Veröffentlicht Aug 01, 2019

Freigabeziel:
LinkedIn-MarkenSozialx Logo

Der Angriff "XML External Entity Injection", manchmal einfach als XXE-Injektion abgekürzt, ist relativ neu im Vergleich zu einigen der klassischen Schwachstellen, die auch Jahre nach ihrer Entstehung noch die Runde machen. Aber sie ist in den Hacker-Communities derzeit extrem beliebt und wird mit zunehmenden Erfolgen immer beliebter.

Tatsächlich listet OWASP XXE Injection jetzt als eine der zehn größten Schwachstellen auf, auf die Websites achten und sich aktiv dagegen schützen müssen. Aber keine Sorge, XXE Injection ist nicht mächtiger als andere Exploits, die bei Cyberangriffen eingesetzt werden. Sie ist nur ein bisschen neuer und weniger bekannt. Sie kann verhindert und sogar komplett gestoppt werden.

In dieser Folge lernen wir:

  • Wie Angreifer XXE-Injektionen verwenden
  • Warum die XXE-Injektion gefährlich ist
  • Techniken, die diese Sicherheitslücke verhindern können.

Wie lösen Angreifer eine XXE-Injektion aus?

Die XXE-Injection-Schwachstelle kann auftreten, wenn ein böswilliger Benutzer die Möglichkeit erhält, XML-Code zu übermitteln. Er nutzt diese Fähigkeit, um einen Verweis auf eine externe Entität zu erstellen. Der externe Verweis und der Code sind so konzipiert, dass sie an einem XML-Parser mit Standardeinstellungen oder einem mit schwach konfigurierten Einstellungen vorbeigehen.

Der Angreifer nutzt die Tatsache aus, dass der XML-Standard das Konzept einer Entität als eine Speichereinheit irgendeiner Art definiert, wobei dieser Speicher extern oder intern sein kann. Richtig eingesetzt, kann er XML-Prozessoren den Zugriff auf entfernte Ressourcen ermöglichen. Meistens nutzen Angreifer diese Fähigkeit, um z.B. die interne Struktur einer Website zu sondieren, eine Denial-of-Service-Attacke zu starten, indem sie große Systemprozesse auslösen, die versuchen, auf Remote-Ressourcen zuzugreifen, oder sogar Daten von einem lokalen Host auf einen Remote-Host zu dumpen, den sie kontrollieren ", was es zu einer guten Technik macht, um wichtige Daten wie Passwörter oder persönliche Informationen, die in der XML-Datenbank enthalten sind, zu exfiltrieren.

Der eigentliche Code, der in den Angriff involviert ist, ist oft recht simpel und nutzt lediglich die Funktionalität der Entität aus. Dies könnte einem Hacker beispielsweise den Zugriff auf die Master-Kennwortdatei ermöglichen:

<!ENTITY hackwithxxe SYSTEM file:///etc/password>

Warum ist die XXE-Injektion gefährlich?

Es gibt ein paar Gründe, warum XXE-Injection-Angriffe so gefährlich und auch weit verbreitet sind. Zum einen ist es eine noch wenig bekannte Sicherheitslücke. Und die Gewinne, die ein Angreifer durch das Ausnutzen dieser Schwachstelle erzielen kann, sind beträchtlich. Zum einen kann sie hartnäckigen Angreifern erlauben, langsam alle Pfade in einem internen Netzwerk abzubilden oder sogar Ports zu scannen. Obwohl dies eine gewisse Zeit in Anspruch nehmen kann, besteht fast keine Chance, dass die Aktivitäten eines Hackers von aktiven Verteidigungsmaßnahmen im Zielnetzwerk aufgedeckt werden, da er einfach XML-Code an einen Server sendet, der von dem vertrauenswürdigen XML-Parser freigegeben wird.

Sobald eine Zuordnung erfolgt ist, können Angreifer dieselben XXE-Injection-Techniken verwenden, um beliebige Dateien zu erbeuten, entweder direkt, um Informationen zu stehlen, oder indem sie gültige Benutzeranmeldeinformationen kompromittieren und sie für sekundäre Angriffe verwenden. Schließlich können Angreifer, die einfach nur Lärm machen und böswillig sein wollen, Dinge wie das Auslösen von Denial-of-Service-Angriffen tun, indem sie der Anwendung befehlen, zu versuchen, auf entfernte Ressourcen zuzugreifen, um das System lahmzulegen.  

Beseitigung der XXE-Injection-Schwachstelle

Aufgrund der rapiden Zunahme von XXE-Injection-Attacken gehen viele XML-Parser dazu über, externe Entitäten, manchmal auch DTDs genannt, standardmäßig komplett zu deaktivieren. In diesen Fällen besteht der Schlüssel darin, diese Funktionalität einfach nicht zu aktivieren.

Aber auch bei Parsern, die DTDs zulassen, kann diese Funktionalität deaktiviert werden. Im Allgemeinen wird eine Anweisung wie die folgende benötigt, um sie vollständig zu blockieren, aber sehen Sie in der Dokumentation Ihres lokalen Frameworks nach, um den genauen benötigten Code zu erhalten.

factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);

Gemäß den Sicherheitsprinzipien sollten alle Benutzereingaben mit anwendungsweiten Filtern bereinigt und validiert werden. Vergessen Sie nicht, GET- und POST-Parameter, HTTP-Header und Cookies einzubeziehen. Sie können auch eine Whitelist mit bestimmten DTDs und Befehlen erstellen, die der Parser verarbeiten soll, und alles andere verbieten.

Obwohl Whitelisting und Filterung funktionieren, wird aufgrund der steigenden Anzahl von XXE-Injection-Angriffen dennoch empfohlen, die DTD-Unterstützung komplett zu deaktivieren, wenn die Funktionalität nicht benötigt wird.

Mehr Informationen über XXE Injections

Als weitere Lektüre können Sie einen Blick darauf werfen, was OWASP über XXE-Injection-Angriffe sagt. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Secure Code Warrior Plattform testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr darüber zu erfahren, wie Sie diese Schwachstelle und andere Bedrohungen abwehren können, besuchen Sie den BlogSecure Code Warrior .

Ressourcen anzeigen
Ressourcen anzeigen

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Zustimmung, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen der Sicherheitscodierung zukommen zu lassen. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichung
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss können Sie es jederzeit wieder deaktivieren.

Der Angriff "XML External Entity Injection", manchmal einfach als XXE-Injektion abgekürzt, ist relativ neu im Vergleich zu einigen der klassischen Schwachstellen, die auch Jahre nach ihrer Entstehung noch die Runde machen. Aber sie ist in den Hacker-Communities derzeit extrem beliebt und wird mit zunehmenden Erfolgen immer beliebter.

Tatsächlich listet OWASP XXE Injection jetzt als eine der zehn größten Schwachstellen auf, auf die Websites achten und sich aktiv dagegen schützen müssen. Aber keine Sorge, XXE Injection ist nicht mächtiger als andere Exploits, die bei Cyberangriffen eingesetzt werden. Sie ist nur ein bisschen neuer und weniger bekannt. Sie kann verhindert und sogar komplett gestoppt werden.

In dieser Folge lernen wir:

  • Wie Angreifer XXE-Injektionen verwenden
  • Warum die XXE-Injektion gefährlich ist
  • Techniken, die diese Sicherheitslücke verhindern können.

Wie lösen Angreifer eine XXE-Injektion aus?

Die XXE-Injection-Schwachstelle kann auftreten, wenn ein böswilliger Benutzer die Möglichkeit erhält, XML-Code zu übermitteln. Er nutzt diese Fähigkeit, um einen Verweis auf eine externe Entität zu erstellen. Der externe Verweis und der Code sind so konzipiert, dass sie an einem XML-Parser mit Standardeinstellungen oder einem mit schwach konfigurierten Einstellungen vorbeigehen.

Der Angreifer nutzt die Tatsache aus, dass der XML-Standard das Konzept einer Entität als eine Speichereinheit irgendeiner Art definiert, wobei dieser Speicher extern oder intern sein kann. Richtig eingesetzt, kann er XML-Prozessoren den Zugriff auf entfernte Ressourcen ermöglichen. Meistens nutzen Angreifer diese Fähigkeit, um z.B. die interne Struktur einer Website zu sondieren, eine Denial-of-Service-Attacke zu starten, indem sie große Systemprozesse auslösen, die versuchen, auf Remote-Ressourcen zuzugreifen, oder sogar Daten von einem lokalen Host auf einen Remote-Host zu dumpen, den sie kontrollieren ", was es zu einer guten Technik macht, um wichtige Daten wie Passwörter oder persönliche Informationen, die in der XML-Datenbank enthalten sind, zu exfiltrieren.

Der eigentliche Code, der in den Angriff involviert ist, ist oft recht simpel und nutzt lediglich die Funktionalität der Entität aus. Dies könnte einem Hacker beispielsweise den Zugriff auf die Master-Kennwortdatei ermöglichen:

<!ENTITY hackwithxxe SYSTEM file:///etc/password>

Warum ist die XXE-Injektion gefährlich?

Es gibt ein paar Gründe, warum XXE-Injection-Angriffe so gefährlich und auch weit verbreitet sind. Zum einen ist es eine noch wenig bekannte Sicherheitslücke. Und die Gewinne, die ein Angreifer durch das Ausnutzen dieser Schwachstelle erzielen kann, sind beträchtlich. Zum einen kann sie hartnäckigen Angreifern erlauben, langsam alle Pfade in einem internen Netzwerk abzubilden oder sogar Ports zu scannen. Obwohl dies eine gewisse Zeit in Anspruch nehmen kann, besteht fast keine Chance, dass die Aktivitäten eines Hackers von aktiven Verteidigungsmaßnahmen im Zielnetzwerk aufgedeckt werden, da er einfach XML-Code an einen Server sendet, der von dem vertrauenswürdigen XML-Parser freigegeben wird.

Sobald eine Zuordnung erfolgt ist, können Angreifer dieselben XXE-Injection-Techniken verwenden, um beliebige Dateien zu erbeuten, entweder direkt, um Informationen zu stehlen, oder indem sie gültige Benutzeranmeldeinformationen kompromittieren und sie für sekundäre Angriffe verwenden. Schließlich können Angreifer, die einfach nur Lärm machen und böswillig sein wollen, Dinge wie das Auslösen von Denial-of-Service-Angriffen tun, indem sie der Anwendung befehlen, zu versuchen, auf entfernte Ressourcen zuzugreifen, um das System lahmzulegen.  

Beseitigung der XXE-Injection-Schwachstelle

Aufgrund der rapiden Zunahme von XXE-Injection-Attacken gehen viele XML-Parser dazu über, externe Entitäten, manchmal auch DTDs genannt, standardmäßig komplett zu deaktivieren. In diesen Fällen besteht der Schlüssel darin, diese Funktionalität einfach nicht zu aktivieren.

Aber auch bei Parsern, die DTDs zulassen, kann diese Funktionalität deaktiviert werden. Im Allgemeinen wird eine Anweisung wie die folgende benötigt, um sie vollständig zu blockieren, aber sehen Sie in der Dokumentation Ihres lokalen Frameworks nach, um den genauen benötigten Code zu erhalten.

factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);

Gemäß den Sicherheitsprinzipien sollten alle Benutzereingaben mit anwendungsweiten Filtern bereinigt und validiert werden. Vergessen Sie nicht, GET- und POST-Parameter, HTTP-Header und Cookies einzubeziehen. Sie können auch eine Whitelist mit bestimmten DTDs und Befehlen erstellen, die der Parser verarbeiten soll, und alles andere verbieten.

Obwohl Whitelisting und Filterung funktionieren, wird aufgrund der steigenden Anzahl von XXE-Injection-Angriffen dennoch empfohlen, die DTD-Unterstützung komplett zu deaktivieren, wenn die Funktionalität nicht benötigt wird.

Mehr Informationen über XXE Injections

Als weitere Lektüre können Sie einen Blick darauf werfen, was OWASP über XXE-Injection-Angriffe sagt. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Secure Code Warrior Plattform testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr darüber zu erfahren, wie Sie diese Schwachstelle und andere Bedrohungen abwehren können, besuchen Sie den BlogSecure Code Warrior .

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Bericht anzeigenDemo-Termin vereinbaren
Ressourcen anzeigen
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Sind Sie an weiteren Informationen interessiert?

Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Veröffentlicht Aug 01, 2019

Freigabeziel:
LinkedIn-MarkenSozialx Logo

Der Angriff "XML External Entity Injection", manchmal einfach als XXE-Injektion abgekürzt, ist relativ neu im Vergleich zu einigen der klassischen Schwachstellen, die auch Jahre nach ihrer Entstehung noch die Runde machen. Aber sie ist in den Hacker-Communities derzeit extrem beliebt und wird mit zunehmenden Erfolgen immer beliebter.

Tatsächlich listet OWASP XXE Injection jetzt als eine der zehn größten Schwachstellen auf, auf die Websites achten und sich aktiv dagegen schützen müssen. Aber keine Sorge, XXE Injection ist nicht mächtiger als andere Exploits, die bei Cyberangriffen eingesetzt werden. Sie ist nur ein bisschen neuer und weniger bekannt. Sie kann verhindert und sogar komplett gestoppt werden.

In dieser Folge lernen wir:

  • Wie Angreifer XXE-Injektionen verwenden
  • Warum die XXE-Injektion gefährlich ist
  • Techniken, die diese Sicherheitslücke verhindern können.

Wie lösen Angreifer eine XXE-Injektion aus?

Die XXE-Injection-Schwachstelle kann auftreten, wenn ein böswilliger Benutzer die Möglichkeit erhält, XML-Code zu übermitteln. Er nutzt diese Fähigkeit, um einen Verweis auf eine externe Entität zu erstellen. Der externe Verweis und der Code sind so konzipiert, dass sie an einem XML-Parser mit Standardeinstellungen oder einem mit schwach konfigurierten Einstellungen vorbeigehen.

Der Angreifer nutzt die Tatsache aus, dass der XML-Standard das Konzept einer Entität als eine Speichereinheit irgendeiner Art definiert, wobei dieser Speicher extern oder intern sein kann. Richtig eingesetzt, kann er XML-Prozessoren den Zugriff auf entfernte Ressourcen ermöglichen. Meistens nutzen Angreifer diese Fähigkeit, um z.B. die interne Struktur einer Website zu sondieren, eine Denial-of-Service-Attacke zu starten, indem sie große Systemprozesse auslösen, die versuchen, auf Remote-Ressourcen zuzugreifen, oder sogar Daten von einem lokalen Host auf einen Remote-Host zu dumpen, den sie kontrollieren ", was es zu einer guten Technik macht, um wichtige Daten wie Passwörter oder persönliche Informationen, die in der XML-Datenbank enthalten sind, zu exfiltrieren.

Der eigentliche Code, der in den Angriff involviert ist, ist oft recht simpel und nutzt lediglich die Funktionalität der Entität aus. Dies könnte einem Hacker beispielsweise den Zugriff auf die Master-Kennwortdatei ermöglichen:

<!ENTITY hackwithxxe SYSTEM file:///etc/password>

Warum ist die XXE-Injektion gefährlich?

Es gibt ein paar Gründe, warum XXE-Injection-Angriffe so gefährlich und auch weit verbreitet sind. Zum einen ist es eine noch wenig bekannte Sicherheitslücke. Und die Gewinne, die ein Angreifer durch das Ausnutzen dieser Schwachstelle erzielen kann, sind beträchtlich. Zum einen kann sie hartnäckigen Angreifern erlauben, langsam alle Pfade in einem internen Netzwerk abzubilden oder sogar Ports zu scannen. Obwohl dies eine gewisse Zeit in Anspruch nehmen kann, besteht fast keine Chance, dass die Aktivitäten eines Hackers von aktiven Verteidigungsmaßnahmen im Zielnetzwerk aufgedeckt werden, da er einfach XML-Code an einen Server sendet, der von dem vertrauenswürdigen XML-Parser freigegeben wird.

Sobald eine Zuordnung erfolgt ist, können Angreifer dieselben XXE-Injection-Techniken verwenden, um beliebige Dateien zu erbeuten, entweder direkt, um Informationen zu stehlen, oder indem sie gültige Benutzeranmeldeinformationen kompromittieren und sie für sekundäre Angriffe verwenden. Schließlich können Angreifer, die einfach nur Lärm machen und böswillig sein wollen, Dinge wie das Auslösen von Denial-of-Service-Angriffen tun, indem sie der Anwendung befehlen, zu versuchen, auf entfernte Ressourcen zuzugreifen, um das System lahmzulegen.  

Beseitigung der XXE-Injection-Schwachstelle

Aufgrund der rapiden Zunahme von XXE-Injection-Attacken gehen viele XML-Parser dazu über, externe Entitäten, manchmal auch DTDs genannt, standardmäßig komplett zu deaktivieren. In diesen Fällen besteht der Schlüssel darin, diese Funktionalität einfach nicht zu aktivieren.

Aber auch bei Parsern, die DTDs zulassen, kann diese Funktionalität deaktiviert werden. Im Allgemeinen wird eine Anweisung wie die folgende benötigt, um sie vollständig zu blockieren, aber sehen Sie in der Dokumentation Ihres lokalen Frameworks nach, um den genauen benötigten Code zu erhalten.

factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);

Gemäß den Sicherheitsprinzipien sollten alle Benutzereingaben mit anwendungsweiten Filtern bereinigt und validiert werden. Vergessen Sie nicht, GET- und POST-Parameter, HTTP-Header und Cookies einzubeziehen. Sie können auch eine Whitelist mit bestimmten DTDs und Befehlen erstellen, die der Parser verarbeiten soll, und alles andere verbieten.

Obwohl Whitelisting und Filterung funktionieren, wird aufgrund der steigenden Anzahl von XXE-Injection-Angriffen dennoch empfohlen, die DTD-Unterstützung komplett zu deaktivieren, wenn die Funktionalität nicht benötigt wird.

Mehr Informationen über XXE Injections

Als weitere Lektüre können Sie einen Blick darauf werfen, was OWASP über XXE-Injection-Angriffe sagt. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Secure Code Warrior Plattform testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr darüber zu erfahren, wie Sie diese Schwachstelle und andere Bedrohungen abwehren können, besuchen Sie den BlogSecure Code Warrior .

Inhaltsverzeichnis

PDF herunterladen
Ressourcen anzeigen
Sind Sie an weiteren Informationen interessiert?

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbarenDownload
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge