Fabienne: mail() und SPAM

Hallo zusammen,

ist es möglich, dass jemand über ein Formular die FROM-Adresse einschleust und somit ein SPAM-fähiges Formular gefunden hat?

Konkret:
mail($to,$betreff,$text,"FROM:".$from);

Die Vars to, betreff sind fix definiert. $text wird aus dem Formular übernommen.

Könnte also jemand in die Var $text irgendwas wie z.B. "blablabl , FROM:meine_SPAM@adresse.de" reinschreiben und damit der Funktion Mail eine FROM-Adresse vorgaukeln?

Vielen Dank für Eure Antwort!
Fabe

  1. Huhu Fabienne,

    ist es möglich, dass jemand über ein Formular die FROM-Adresse einschleust und somit ein SPAM-fähiges Formular gefunden hat?

    Ja.

    mail($to,$betreff,$text,"FROM:".$from);
    Die Vars to, betreff sind fix definiert. $text wird aus dem Formular übernommen.

    Und was ist mit $from?

    Könnte also jemand in die Var $text irgendwas wie z.B. "blablabl , FROM:meine_SPAM@adresse.de" reinschreiben und damit der Funktion Mail eine FROM-Adresse vorgaukeln?

    Nein, aber mit $from.

    http://de.wikipedia.org/wiki/E-Mail-Injektion

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hi,

      mail($to,$betreff,$text,"FROM:".$from);

      $from ist fix belegt durch
      $from="homepageformular@".$_SERVER[HTTP_HOST];

      Ist es jetzt noch möglich über $text ($text=$_POST[text], nahezu üngeprüft!!) headers einzuschleusen?

      Viele Grüße und Dank!
      Fabe

      1. hi,

        $from ist fix belegt durch
        $from="homepageformular@".$_SERVER[HTTP_HOST];

        Auch der Hostname wird vom Client übermittelt.

        (Wenn dieser nicht "stimmt", dürfte es zwar in einer Shared Hosting Umgebung evtl. schwierig werden, dein Script überhaupt zu erreichen - aber "unmöglich" dürfte das Einschleusen von unerwarteten Werten darüber trotzdem nicht sein.)

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi Wahsaga,

          (Wenn dieser nicht "stimmt", dürfte es zwar in einer Shared Hosting Umgebung evtl. schwierig werden, dein Script überhaupt zu erreichen - aber "unmöglich" dürfte das Einschleusen von unerwarteten Werten darüber trotzdem nicht sein.)

          Klingt logisch.
          Aber: Ist es gefährlich die Absender-Adresse als HTTP_HOST anzugeben oder sollte man lieber eine fixe Adresse eintragen?
          Wie steht es um das einschleusen über die Var $text, wenn ich die header-Sachen selbst definiere? Kann dann trotzdem jemand über die Var $text meinen header manipulieren?

          Viele Grüße
          Fabe

          1. hi,

            Klingt logisch.
            Aber: Ist es gefährlich die Absender-Adresse als HTTP_HOST anzugeben oder sollte man lieber eine fixe Adresse eintragen?

            Es ist gefährlich, davon auszugehen, dass ein von extern kommender Parameter nur bestimmte, bekannte Werte enthalten kann - _immer_.
            Never trust incoming data.

            Fix angeben musst du den Wert natürlich nicht - wenn du eingehende Werte in ausreichendem Maße auf Gültigkeit prüfst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hallo Fabienne.

        mail($to,$betreff,$text,"FROM:".$from);

        $from ist fix belegt durch
        $from="homepageformular@".$_SERVER[HTTP_HOST];

        Ist es jetzt noch möglich über $text ($text=$_POST[text], nahezu üngeprüft!!) headers einzuschleusen?

        Anmerkung: Du solltest $_SERVER['HTTP_HOST'] und $_POST['text'] schreiben, da du andernfalls auf die undefinierten Konstanten „HTTP_HOST“ und „text“ zuzugreifen versuchen würdest. PHP meldet dies gutmüßtigerweise nur mit einer Notice und interpretiert die undefinierte Konstante als String.

        Zudem ist das Umspeichern von $_POST['text'] auf $text überflüssig; ersteres kannst du direkt verwenden.

        Einen schönen Sonntag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
  2. Hallo Fabienne.

    mail($to,$betreff,$text,"FROM:".$from);

    […]

    Könnte also jemand in die Var $text irgendwas wie z.B. "blablabl , FROM:meine_SPAM@adresse.de" reinschreiben und damit der Funktion Mail eine FROM-Adresse vorgaukeln?

    Nein.

    Einen schönen Sonntag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules