Mein Script wurde missbraucht um Massenmails zu verschicken. Was kann ich tun?

Überprüfen Sie bitte Ihr Script auf Sicherheitslücken. In den meisten Fällen werden die Scripte mit modifizierten Parametern aufgerufen, in denen entweder die Zieladresse geändert wird, oder durch das Einfügen von Umbruchzeichen zusätzliche Bcc-Zeilen/Empfänger eingefügt werden.

Am besten, Sie fügen alle Headerangaben hartkodiert ein (z.B. From, To, Subject usw.), so dass diese nicht durch falsche Parameter modifiziert werden können. Falls dies in Ihrem Fall nicht möglich ist, müssen (!) Sie die übergebenen Parameter auf Herz und Nieren prüfen. E-Mails müssen mit Regulären Ausdrücken auf syntaktische Korrektheit geprüft werden. In PHP geht das z.B. mit folgendem, beispielhaftem Ausdruck:

preg_match(‚/^[a-z0-9_.-]+@[a-z0-9.-]+.[a-z]{2,}$/i‘, $_POST[‚email‘])

Dieses Suchmuster ist zwar nicht perfekt, filtert jedoch schon 99% aller Manipulationsversuche heraus.

Zudem müssen (!) alle Variablen, die Sie im Mailheader verwenden (z.B. From, Subject, Name, To usw.) auf Umbrüche geprüft werden. Wird in den Variablen ein Umbruch entdeckt, so liegt mit Sicherheit ein Hackversuch vor, da ein solches Umbruchzeichen über ein normales Input-Eingabefeld nicht eingegeben werden kann und der POST-Request definitiv gefälscht wurde. Folgendes Codebeispiel in PHP prüft die POST-Variable „email“ auf Umbrüche und beendet das Script mit einer Fehlermeldung an den Spamer:

if ( strstr($_POST[‚email‘], „n“) ) die („Forget it, Spamer!“);

Wenden Sie diese Prüfung auch auf alle anderen Variablen an, die im Mailheader verwendet werden.
Bei Verwendung des PHP-Befehls mail() sind die Parameter 1,2,4 und 5 betroffen:

mail( _BETROFFEN_ , _BETROFFEN_ , Mailbody [, _BETROFFEN_ [, _BETROFFEN_]])

Weiterhin ist es möglich den Hackern ein Manipulieren des Skriptes deutlich zu erschweren, in dem Sie die sicheren PHP Einstellungen in Ihrem Kundenmenü aktivieren. Dies stellt zwar leider keinen hundert prozentigen Schutz dar, macht den Hackern einen erfolgreichen Angriff allerdings erheblich schwerer.

Hat Ihnen dieser Artikel weitergeholfen?

Ja, das hat er Nein, leider nicht