Mailinglisten-Archive |
Hallo Hauke, Am Donnerstag, 1. Dezember 2005 16:39 schrieb mliste: > kann mir irgendjemand sagen, warum es sinnvoll, bzw. erlaubt sein soll in > den additional Headers fuer den mail()-aufruf ein "/n/n" zuzulassen? > Die Frage ist also, warum es ueberhaupt moeglich ist Content in den header > einzuschleusen! Wir werden gerade aus allen Rohren auf PHP-Scripte gescannt > um darueber Email-Injection durchzufuehren. > Eine Idee war das PHP-Mail Commando direkt zu patchen, um Content im Header > auszuschliessen. > Damit faellt man natuerlich aus dem PHP-Branch heraus... > > Fuer eine Anregung zum Thema waere ich dankbar ;-) was meinst Du denn mit Content im Header? Also die Umbrüche wie /n werden in den zusätzlichen Headern zugelassen, damit man eben mehrere Header hinzufügen kann. Und in den Mail-Header kann nur dann bösartiger Code eingeschleust werden, wenn Benutzereingaben o.ä. von der Anwendung unzureichend geprüft oder ungeprüft in die mail()-Funktion übernommen werden. Von daher verstehe ich die Frage nicht ganz. :-) Wenn Du z.B. den Namen oder E-Mail-Adresse aus dem Formular in die zusätzlichen Header schreibst, dann prüfst Du eben vorher, ob dort nur erlaubte Zeichen drin sind. Zeichen, die nicht ausdrücklich erlaubt sind, werden dabei einfach entfernt, z.B. /n und /r. Ich sehe also eigentlich kein Problem bei PHP. Mit fehlerhafter Programmierung kann man natürlich riesige Sicherheitslöcher reißen, die ein Angreifer wunderbar nutzen kann, um vielleicht sogar den ganzen Rechner zu knacken. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive