PHP Tutorials, PHP lernen, PHP Forum, PHP Community and more ... MyWebsolution.de!

Sidebar

Home News Tutorials Workshops Tipps Artikel Gästebuch Sitemap Pascal Landau

Suche

Members

Forum Login Registrierung

Statistik

Statistikbereich
Jetzt1
Heute44
Gestern272
Gesamt2317056

Mail Injection

Autor Flitze
Klicks 13134
Bewertungen 7
Rating 4.6
Stand 24.03.2008
Keywords:
Mail Injection, E-Mails manipulieren, Kontaktformulare als Spammöglichkeit missbrauchen, \n\r, BCC: in Mails, mail()


Breadcrumb:
Artikel » Mail Injection
Seite : 1 Bewerten
Article Wizard - deutscher Article Spinner

Was ist Mail Injection?

[ADSENSE_LINE]
Unter Mail Injection versteht man die Modifikation der Header-Angaben in einer E-Mail, die über ein Formular und die Funktion mail() verschickt wird. Diese Funktion versendet eine E-Mail in der z.B. folgende Header-Angaben stehen:

To: fiktiver.Name@fiktive.domain.de
Subject: Kontaktformular von fiktive.domain
From: Test@domain.de

Ich gehe mal von einem einfachen Kontaktformular aus, bei dem der User nur seine eigene E-Mail-Adresse eintragen muss, um eine Antwort erhalten zu können. Dabei sind To: und Subject: bereits vorgegeben, die From:-Angabe hängt jedoch von der Eingabe des Benutzers ab. Im obigen Beispiel wäre das Test@domain.de. Stattdessen könnte ein Angreifer aber auch folgende Adresse angeben:

Test@domain.de\nBcc: info@firma1.de, info@privat2.de, info@oeffentlich3.de

Dadurch werden die Header-Angaben manipuliert, so dass folgender Header entsteht:

To: fiktiver.Name@fiktive.domain.de
Subject: Kontaktformular von fiktive.domain
From: Test@domain.de
Bcc: info@firma1.de, info@privat2.de, info@oeffentlich3.de

Dadurch wird eine Kopie der Email an die nach Bcc: angegebenen Adressen versandt. Das kann zum Beispiel für Spam- und Werbemails ausgenutzt werden, die über meinen Server gesendet werden, so dass ich auch dafür haftbar gemacht werden kann.

Email-Adresse filtern


Bei der Registrierung neuer User habe ich damals einen RegExp zur Überprüfung der Email-Adresse geschrieben. Das Suchmuster lautet dabei
'§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§'
Dadurch werden nur Email-Adressen akzeptiert, die folgendermaßen aufgebaut sind:

Beliebig viele alphanumerische Zeichen, Punkte oder Gedankenstriche, gefolgt von einem @ gefolgt von beliebig vielen alphanumerischen Zeichen, Punkten oder Gedankenstrichen, gefolgt von einem Punkt gefolgt 2-4 alphanumerischen Zeichen. Eine gültige Adresse wäre somit z.B. user@domain.de.

Bezogen auf den obigen Mail-Injection-Versuch, würde es nun einen Fehler geben, da die oben genannte Adresse \n enthält, mehrere @’s besitzt und hinter Bcc ein Doppelpunkt steht.

So werden zwei Fliegen mit einer Klappe geschlagen, zum einen wird Mail Injection verhindert und zum anderen wird geprüft, ob die eingegeben Email Adresse auch gültig ist, damit z.B. Tippfehler berichtigt werden können.

  Bewerten

»» Zurück zum Menu

Suchmaschinenoptimierung

Suchmaschinenoptimierung (SEO - Search Engine Optimization)

Ranking

Tutorials (13)

8.6
8.4
8

Workshops (3)

8.8
8.7
7.6

Tipps (12)

7.2
6.7
6.5

Artikel (32)

8.4
8
7.2

RSS Feeds

Full Feed Tutorials Workshops Tipps Artikel

Twitter

Follow me on Twitter

Partner & Links


Valid HTML 4.01 Transitional
Valid CSS
nach oben

Diese Seiten unterstützen MyWebsolution:
 
© MyWebsolution.de
2006-2024