jo: header injection !!!

hallo zusammen,

ich hatte in der letzten zeit häufiger das problem das meine kontaktformulare mittels header injection missbraucht wurden,
und habe schon alle maßnahmen getroffen um das zu unterbinden.

kann man eigentlich rechtlich dagegen angehen wenn man die ip($_SERVER['REMOTE_ADDR']) adresse kennt von wo das header injection gesendet wurde und ist ein header injection eigentlich legal ?

gruß

  1. hi,

    ich hatte in der letzten zeit häufiger das problem das meine kontaktformulare mittels header injection missbraucht wurden,
    und habe schon alle maßnahmen getroffen um das zu unterbinden.

    Dann tritt das Phänomen jetzt also nicht mehr auf - ?

    kann man eigentlich rechtlich dagegen angehen wenn man die ip($_SERVER['REMOTE_ADDR']) adresse kennt von wo das header injection gesendet wurde

    Versuchen kannst du es, dürfte aber idR. weitgehend sinnfrei sein.
    Oftmals dürfte es sich um IPs von ausländischen Zugängen handeln, und da kommst du wegen einem so unwichtigen Vergehen wie Spamversand nicht weit.
    Und darüber hinaus dürfte der größte Teil der Requests über gekaperte Rechner gehen (Bot-Netze) - wo man auch höchstens den Nutzer des befallenen Rechners ermitteln könnte.

    und ist ein header injection eigentlich legal ?

    Ob man das rechtlich schon als Eindringen in ein fremdes Computersystem werten kann, halte ich für fraglich.
    Du hast ein Formular bereitgestellt, es wurde benutzt. Dass es sich bei entsprechend günstig gewählten Eingabedaten anders verhält als von dir beabsichtigt, ist erst mal dein Problem.

    gruß,
    wahsaga

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

      Dann tritt das Phänomen jetzt also nicht mehr auf - ?

      das problem wurde beseitigt

      Du hast ein Formular bereitgestellt, es wurde benutzt. Dass es sich bei entsprechend günstig gewählten Eingabedaten anders verhält als von dir beabsichtigt, ist erst mal dein Problem.

      so hatte ich mir das auch gedacht.

      danke

      jo

    2. Lieber wahsaga,

      ich kenne den Mechanismus, der sich hinter Header-Injection versteckt, nicht. Da es aber mit Formularen zu tun hat, interessiert es mich, da ich vielleicht an meinen Formularen dann auch etwas ändern müsste.

      die ip($_SERVER['REMOTE_ADDR']) adresse

      hat wohl damit zu tun?

      Du hast ein Formular bereitgestellt, es wurde benutzt. Dass es sich bei entsprechend günstig gewählten Eingabedaten anders verhält als von dir beabsichtigt, ist erst mal dein Problem.

      Könntest Du mir eine Art Beispiel-Szenario erklären, dass mir der Mechanismus theoretisch klar wird? Ich habe jetzt keine Ahnung inwieweit das Anstiftung zu grobem Unfug wäre, aber es gäbe im Notfall ja auch meine Mailadresse... :-)

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

      1. hi,

        ich kenne den Mechanismus, der sich hinter Header-Injection versteckt, nicht.

        Die Wikipedia ist diesbezüglich doch schon recht ausführlich:
        http://de.wikipedia.org/wiki/E-Mail-Injektion

        Kurz gesagt besteht das Grundproblem in Folgendem:
        Die Header einer Mail werden durch \r\n voneinander abgegrenzt.
        Jetzt möchtest du beim Versenden einer Mail mich als Benutzer den Betreff - auch der gehört ja noch zu den Headern - über ein Formular mitgeben lassen. Du erwartest, dass ich "Anfrage bezüglich xyz" ins Formularfeld eintippe, das würde dann eine Headerzeile der Form
        Subject: Anfrage bezüglich xyz\r\n
        in der Mail ergeben.
        Nu bin ich aber böse, und übermittle stattdessen "Anfrage bezüglich xyz\r\nbcc: another.user@example.org"
        Watt kommt da raus? Genau,

        Subject: Anfrage bezüglich xyz\r\n
        bcc: another.user@example.org

        Und schon geht die Mail nicht mehr nur an die Adresse, die du in deinem Script festgelegt hast, sondern auch an another.user@example.org.

        gruß,
        wahsaga

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

          vielen Dank für Deine Erläuterungen!

          ich hatte unter "Header" zuerst die Funktion header() in PHP verstanden und konnte mir beim besten Willen nicht erklären, wie man als User "von außen" diese missbrauchen kann. Aber wenn Mail-Header damit gemeint sind, dann bekommt das Ganze einen Sinn.

          Danke, und liebe Grüße aus Ellwangen,

          Felix Riesterer.

      2. Hell-O!

        Könntest Du mir eine Art Beispiel-Szenario erklären, dass mir der Mechanismus theoretisch klar wird?

        Indem du Formulareingaben ungeprüft in eine E-Mail einbaust. Zu den Headerzeilen gehört u.a. auch der Betreff, den du in deinem Formular eingibst, z.B. "Anfrage" o.ä.

        Nun gibst du in die Formularzeile "Betreff" eben nicht einfach nur "Anfrage" ein, sondern

        Anfrage<LFCR>
        Bcc: spam@example.org<LFCR>
        Bcc: nochmal_spam@example.de

        (<LFCR> steht hier für Newline)

        Übernimmst du diese Eingabe ungeprüft in die E-Mail, kommt dann so ein E-Mail-Header raus:

        To: deine_mail@example.org
        Subject: Anfrage
        Bcc: spam@example.org<LFCR>
        Bcc: nochmal_spam@example.de

        usw.

        Und schon hast du eine prächtige Spamschleuder. Dieses Vorgehen funktioniert bei allen Formulareingaben, die in irgendeiner Form in den Header der E-Mail eingehen. Ein möglicher Schutz ist es, in solchen Eingabefeldern einfach kein Newline zuzulassen. Im Übrigen gilt auch unter PHP die goldene Regel, dass *keine* Angabe von außen ungeprüft weiterverarbeitet werden darf, in Perl gibt's dafür den Taint-Modus.

        Siechfred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)
        Siechfreds Tagebuch || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
        1. (<LFCR> steht hier für Newline)

          *grmpf* muss natürlich CRLF heißen, und im Übrigen war wahsaga schneller. Mannomann, ich werde alt.

          Siechfred

          --
          Ich bin strenggenommen auch nur interessierter Laie. (molily)
          Siechfreds Tagebuch || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
          1. Lieber Siechfred,

            und im Übrigen war wahsaga schneller. Mannomann, ich werde alt.

            trotzdem Danke!

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.

        2. hi,

          Dieses Vorgehen funktioniert bei allen Formulareingaben, die in irgendeiner Form in den Header der E-Mail eingehen.

          Und sogar der Mailinhalt kann so ggf. ergänzt werden. Denn der Mail Body wird von den Headern durch \r\n\r\n, doppeltes Newline, abgegrenzt.

          Gebe ich also für den Betreff
          Hello\r\n\r\nBUY V1a6ra 0nl1en at http://... !!!1elf
          mit, dann landet diese Kaufaufforderung ggf. noch vor deinem eigentlichen Mailtext in deiner Mail.

          gruß,
          wahsaga

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