phpbar.de logo

Mailinglisten-Archive

[php] Mail Header Injection

[php] Mail Header Injection

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Die Feb 28 13:48:45 CET 2006


Hi Thorsten,

Thorsten Koch schrieb:
> Hallo Werner, Andreas und Lutz,
>
> ich denke, dass es in irgendeiner Form in diesem Paket eine Möglichkeit
> geben sollte die Benutzereingaben PASSEND zum Thema zu validieren. Denn
> wenn Pakete die Gefahr eines Security-Loches haben, dann sollte man dies
> auch in dem Paket verankern und das Loch stopfen können.
> Wie in der Medizin sollte man nicht die Sympthome (Benutzereingabe),
> sondern die Ursache (Sicherheitsleck in der Klasse) bekämpfen.
>
> Fügt man der Klasse zBsp. eine Methode "checkMailHeaderInjection()"
> hinzu, die zentral aktuell gehalten werden kann, dann muss nur ein
> Programmierer diese Funktion aktuell halten und nicht zig Programmierer
> ihre Benutzereingabevalidierungsfunktionen (was für ein Wort) aktuell
> halten. Das wäre doch viel sachdienlicher und macht die PHP Anwendungen
> sicherer (die darauf aussetzen).

ich bin eigentlich dafür, an beiden Stellen anzusetzen. Eine gute
Validierung von Benutzereingaben ist aus meiner Sicht zwingend. Erfolgt
sie korrekt, bräuchte man in PEAR::Mail nichts à la
checkMailHeaderInjection(). :-)

Auf der anderen Seite machen Programmierer Fehler, so daß ein mehrstufiges
Sicherheitssystem sicherlich sinnvoll wäre, weil ein Angreifer dann halt
spätestens in der zweiten oder dritten Sicherheitsebene gestoppt würde.
Daher stimme ich Dir zu, daß PEAR::Mail ruhig auch eine Funktion wie
checkMailHeaderInjection() enthalten darf.

Dann sollte man die ganze Geschichte allerdings auch zu Ende denken, und
das heißt, daß dann auch die PHP-Funktion mail() eine entsprechende
Routine besitzen sollte, die das bemängelte Sicherheitsloch schließt,
wobei ich mir jetzt allerdings nicht ganz sicher bin, ob PEAR::Mail die
überhaupt verwendet. :-)


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive