mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 16:18 Benutzername: Passwort: Auto-Login

Thema: [PHP] mail() Header injection in $message möglich? vom 29.01.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] mail() Header injection in $message möglich?
Autor Nachricht
Eistee
Administrator
Threadersteller

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Fr 29.01.2010 11:23
Titel

[PHP] mail() Header injection in $message möglich?

Antworten mit Zitat Zum Seitenanfang

Hallo Leute,

die gängigen Probleme mit php mail() und injections sind mir soweit bekannt. Hier ahbe ich einen Fall über dem ich gerade grübele:

Code:

mail('info@domain.de','anfrage von xy',$mail_data);


Mal angenommen $mail_data wird überhaupt nicht gefiltert/validiert:

Das einfügen von zusätzlichen Mime Parts / HTML Content etc müsste ja möglich sein. Aber können auch zusätzliche header eingefügt werden? Gibt es evtl ein spezielles Verhalten von php mail() dadurch das der vierte Funktionsparameter $additional_headers gar nicht gesetzt wird?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 29.01.2010 12:47
Titel

Antworten mit Zitat Zum Seitenanfang

Ich wüsste nicht, warum mail() das erkennen sollte und rausfiltern sollte.

Schau dir mal die folgenden Seiten an, da wird gut erklärt, wie eine Mail-Injection funktioniert:
http://www.mailinjection.com/howitworks
http://www.erich-kachel.de/?p=292
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Eistee
Administrator
Threadersteller

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Fr 29.01.2010 14:15
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, ich weiss wie eine Mail Injection funktioniert - aber alle üblichen Dokus dazu reiten ja auf dem Sender herum der ja über den additional headers (4 Parameter) in mail() kommt und somit natürlich injection gefährdet ist. Meine Spezialfrage richtet sich aber nach $message...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 29.01.2010 14:29
Titel

Antworten mit Zitat Zum Seitenanfang

Doku-Vorleseservice (TM):

Was jetzt nur für Textnachrichten gilt:

Zitat:
2.3. Body

The body of a message is simply lines of US-ASCII characters. The
only two limitations on the body are as follows:

- CR and LF MUST only occur together as CRLF; they MUST NOT appear
independently in the body.

- Lines of characters in the body MUST be limited to 998 characters,
and SHOULD be limited to 78 characters, excluding the CRLF.

Note: As was stated earlier, there are other standards documents,
specifically the MIME documents [RFC2045, RFC2046, RFC2048, RFC2049]
that extend this standard to allow for different sorts of message
bodies. Again, these mechanisms are beyond the scope of this
document.


Da der Body logischerweise HINTER dem header steht - kannst du hier auch keine header injizieren. Trotzdem möchte kein HTML-Fähiger E-Mail-Client mit sowas wie <script>buildTrojanHorse()</script> genervt werden, also gilt wie immer die Faustregel:

NIEMALS BENUTZEREINGABEN UNVALIDIERT VERARBEITEN!
  View user's profile Private Nachricht senden
Eistee
Administrator
Threadersteller

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Fr 29.01.2010 16:08
Titel

Antworten mit Zitat Zum Seitenanfang

Jo das ist mir alles soweit klar. Ich wollte eher darauf hinaus ob mail() irgendwelche Eigenheiten beim zusammenbau der fertigen mal hat. So kommt ja die Message noch den Headern, was passiert z.b. wenn die Message nochmal Header ganz am Anfang enthält? Werden diese als Text oder als Header interpretiert?

Und zusammenfassend: Ist $message bei php mail() header injection gefährtdet?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 29.01.2010 16:34
Titel

Antworten mit Zitat Zum Seitenanfang

Ja aber das hatte ich doch alles eingehend beantwortet? Ansonsten kannst du Dir die Infos auch aus den RFC-Dokumenten selbst herauskramen, wenn du mir nicht glaubst.

Zitat:
Ist $message bei php mail() header injection gefährtdet?


nein. Der Body ist durch eine Leerzeile vom Header getrennt. Da kannste so viel vorschreiben bis zu schwarz wirst, die Leerzeile wird immer noch drüber stehen *zwinker*


Zuletzt bearbeitet von bacon am Fr 29.01.2010 16:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen [PHP]mail() - Fehler im Header?
E.Mail Header/Footer
Flash-Header Fallback möglich?
Rollover Grafik als E-Mail Signatur möglich?
PHP | MySQL Injection vermeiden
wechsel von "mail" zu entourage! import daten nicht möglich
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.