Autor |
Nachricht |
Eistee
Administrator Threadersteller
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Fr 29.01.2010 11:23
Titel [PHP] mail() Header injection in $message möglich? |
|
|
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?
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
Eistee
Administrator Threadersteller
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Fr 29.01.2010 14:15
Titel
|
|
|
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...
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 29.01.2010 14:29
Titel
|
|
|
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!
|
|
|
|
|
Eistee
Administrator Threadersteller
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Fr 29.01.2010 16:08
Titel
|
|
|
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?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 29.01.2010 16:34
Titel
|
|
|
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
Zuletzt bearbeitet von bacon am Fr 29.01.2010 16:38, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ä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
|
|