PHP mail() anfällig für SMTP-Injection

In der letzten Woche gab es verstärkt Angriffe gegen Formmail-Skripte. Die erste Welle gegen einen meiner Server nutze einen Fehler in einem Perl Skript eines Kunden aus. Die zweite Welle wurde erstaunlicherweise gegen PHP-Skripte gefahren, die nach bisherigen Erkenntnissen eigentlich nicht angreifbar waren. Eine Analyse des Angriffs offenbarte eine Schwäche in der PHP mail() Funktion, die sich ausnutzen läßt, wenn man dem Parameter additional_headers ungeprüftes Userinput übergibt. Es ist dann möglich den Mail-Header enden zu lassen und einen eigenen Text in den Body (und auch zusätzliche Cc und Bcc Empfänger) einzufügen. Die Attacke ist unter dem Link mail_with_checks Funktion näher beschrieben. Desweiteren gibt es dort auch eine Abhilfe.

Dieser Beitrag wurde unter Security Corner veröffentlicht. Setze ein Lesezeichen auf den Permalink.

3 Antworten auf PHP mail() anfällig für SMTP-Injection

  1. voja sagt:

    Noch als kleiner Nachtrag: Wenn man sicher gehen will, das man die Bounches der Mails, die mit mail() abgeschickt werden, bekommen, kann man in der <VirtualHost> Direktive den Absender der Mails für Sendmail setzen:
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@example.com"

  2. Pingback: Volkers Blog » Blog Archive » Plage PHP SMTP-Injection

  3. voja sagt:

    Noch ein paar Details zu dem Sicherheitsproblem und wie es ausgenutzt werden kann, finden sich auf http://www.4websites.de/tricks/artikel/214

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>