Header-Injection

Header-Injection

Header-Injection ist eine Klasse von Sicherheitslücken in Webanwendungen, welche auftreten, wenn die Header eines Protokolls dynamisch unter Hinzunahme von unzureichend geprüften Benutzereingaben generiert werden.

Header-Injection in HTTP kann z. B. zu HTTP-Response-Splitting und Cross-Site Scripting führen. Bei der dynamischen Erstellung von E-Mails über eine Webanwendung kann ein Header-Injection-Angriff genutzt werden, um andere Empfänger in eine E-Mail einzutragen und so z. B. Spam zu versenden (E-Mail-Injektion).

Inhaltsverzeichnis

Beispiel

Eine Website hat ein Formular mit den Eingabefeldern für Betreff und Nachricht, über das Besucher dem Betreiber schreiben können. Ein serverseitiges Skript baut aus den übermittelten Daten dann die E-Mail-Nachricht zusammen und sendet diese an eine vordefinierte Adresse. Die resultierende E-Mail-Nachricht sieht dann z. B. so aus:

Subject: Betreff
From: besucher@some.example.com
To: webmaster@some.example.com

Nachricht

Wenn nun ein Angreifer in das Eingabefeld des Formulars für den Betreff die Zeichenfolge Carriage Return und Linefeed sowie BCC: user1@another.example.com, user2@another.example.com, … eingibt und das Skript diese Eingaben ungeprüft in die E-Mail-Nachricht übernimmt:

Subject: Spam
BCC: user1@another.example.com, user2@another.example.com, …
From: besucher@some.example.com
To: webmaster@some.example.com

Spam

So wird die E-Mail ebenfalls als Blindkopie an User1, User2, … versendet.

Da einen Spammer die Antwort des Servers auf das Abschicken des E-Mail-Formulars nicht interessiert, kann er sich hinter IP-Spoofing verstecken. Der Administrator des Servers sieht dann in seinem Logfile, dass jede Spam Mail von einer anderen IP Adresse verschickt wurde. Der Spammer bleibt so völlig anonym.

Da der Webmaster auch eine Kopie des Spams erhält wird er diese Sicherheitslücke aber baldmöglichst schließen.

Gegenmaßnahmen

Zum Verhindern einer Header-Injection müssen Benutzereingaben sorgfältig geprüft werden, vor allem auf die je nach Kontext geltenden Metazeichen.

So werden in der Regel die einzelnen Header-Felder durch die Zeilenumbruchsequenz CRLF getrennt. Deshalb gilt es diese in Benutzereingaben herauszufiltern beziehungsweise zu maskieren. Beim HTTP und SMTP wird zum Maskieren z. B. die URL-Kodierung eingesetzt, beim SMTP zusätzlich noch die Quoted-printable-Kodierung.

PHP

In der weit verbreiteten Skriptsprache PHP wird seit den Versionen 4.4.2 bzw. 5.1.2 eine Injektion über die header-Funktion automatisch verhindert.[1] Bei der mail-Funktion hingegen muss dies jedoch noch manuell gesichert werden.[2]

Einzelnachweise

  1. Referenzseite der header()-Funktion des PHP-Handbuchs
  2. Referenzseite der mail()-Funktion des PHP-Handbuchs

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • HTTP header injection — is a general class of web application security vulnerability which occurs when Hypertext Transfer Protocol (HTTP) headers are dynamically generated based on user input. Header injection in HTTP responses can allow for HTTP response splitting and… …   Wikipedia

  • E-Mail-Injection — E Mail Injektion bezeichnet das Ausnutzen einer Sicherheitslücke in einer Webanwendung, die es einem Angreifer erlaubt, über ein ungeschütztes Kontaktformular ohne Wissen und Einverständnis des Betreibers E Mails zu verschicken. Das… …   Deutsch Wikipedia

  • Fuel injection — Fuel rail connected to the injectors that are mounted just above the intake manifold on a four cylinder engine. Fuel injection …   Wikipedia

  • SQL injection — Внедрение SQL кода (англ. SQL injection) один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL, в зависимости от типа используемой СУБД и условий внедрения,… …   Википедия

  • HTTP-Response-Splitting — (dt.: Aufteilung der HTTP Antwort) ist eine Sicherheitslücke, welche zur Durchführung von Cross Site Scripting Attacken, (Cross User) Defacements, Web cache poisoning und ähnlichen Exploits verwendet werden kann. Inhaltsverzeichnis 1… …   Deutsch Wikipedia

  • E-Mail-Injektion — bezeichnet das Ausnutzen einer Sicherheitslücke in einer Webanwendung, die es einem Angreifer erlaubt, über ein ungeschütztes Kontaktformular ohne Wissen und Einverständnis des Betreibers E Mails zu verschicken. Das Hauptinteresse des Angreifers… …   Deutsch Wikipedia

  • Formular-Spam — E Mail Injektion bezeichnet das Ausnutzen einer Sicherheitslücke in einer Webanwendung, die es einem Angreifer erlaubt, über ein ungeschütztes Kontaktformular ohne Wissen und Einverständnis des Betreibers E Mails zu verschicken. Das… …   Deutsch Wikipedia

  • Cross-site scripting — (XSS) is a type of computer security vulnerability typically found in Web applications that enables attackers to inject client side script into Web pages viewed by other users. A cross site scripting vulnerability may be used by attackers to… …   Wikipedia

  • Cross-Site Scripting — (XSS) bezeichnet das Ausnutzen einer Computersicherheitslücke in Webanwendungen, indem Informationen aus einem Kontext, in dem sie nicht vertrauenswürdig sind, in einen anderen Kontext eingefügt werden, in dem sie als vertrauenswürdig eingestuft… …   Deutsch Wikipedia

  • HTTP Response Splitting — (dt.: Aufteilung der HTTP Antwort) ist eine Sicherheitslücke, welche zur Durchführung von Cross Site Scripting Attacken, (Cross User) Defacements, Web cache poisoning und ähnlichen Exploits verwendet werden kann. Funktionsweise Um die Attacke… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”