Das Archiv enthält außer dieser Datei die Skripte
index.php
mit der Startseite, kontakt*.php
mit dem Kontaktformular und
empfehle*.php
mit der Empfehlungsfunktion.
Da mail()
einen vorhandenen und funktionierenden Mail Transfer
Agent wie z.B. sendmail
erfordert, gibt es diesmal kein
VMware-Image mit dem Skript. Der individuelle Anpassungsaufwand wäre
zu groß, und eine allgemeine Installation würde in den meisten
Fällen keine E-Mails los werden, da die meisten Mailserver keine
E-Mails von Dialup-IP-Adressen, wie Sie die meisten von Ihnen vermutlich
verwenden, akzeptieren.
Wenn Sie die Angriffe mit echten E-Mails nachvollziehen möchten,
müssen Sie die Skripte auf einem eigenen Server mit installierten MTA
installieren. Sofern der Befehl mail()
funktioniert,
funktionieren auch das Skripte. Ob die Angriffe möglich sind, steht
auf einem anderen Blatt: Ist Suhosin installiert und über die
Direktive suhosin.mail.protect
die Schutzfunktion für den
mail()
-Befehl aktiviert, ist keine Header-Injection
möglich und die Angriffe laufen auch in den unsicheren Skripten ins
Leere.
Bevor Sie die Skripte verwenden können, müssen Sie die
E-Mail-Adresse für den Empfänger in den Skripten
kontakt.php
, kontakt-filter.php
und
kontakt-test.php
auf eine Ihrer E-Mail-Adressen ändern.
Das zumindest auf die unsicheren Skripte kein Unbefugter Zugriff haben darf, dürfte sich von selbst verstehen.
Um die Angriffe und Lösungen auch ohne funktionierenden MTA nachvollziehen zu können, besteht die Möglichkeit, den Mailversand zu simulieren. Dabei werden die eingegebenen Daten in eine Datei geschrieben, die anschließend im Skript angezeigt wird. Im unsicheren Skript sehen Sie dann die eingeschleusten zusätzlichen Zeilen, im sicheren Skript das, was vom Angriff übrig bleibt.
Auf der
Startseite
können Sie zwei E-Mail-Adressen eingeben, für die das Skript dann
die passenden Eingaben für die Angriffe erzeugt. Ohne eingegebene
Adressen sehen Sie den Aufbau der notwendigen Eingabe.