SPAM - Script missbraucht

freso

freso

Aktives Mitglied
Thread Starter
Dabei seit
27.09.2002
Beiträge
1.293
Reaktionspunkte
24
hallo,

ich habe gerade ne mail von meinem provider bekommen, dass mein mailscript missbraucht worden ist.

hier der text:

Sie verwenden in diesem Verzeichnis ein Skript welches gestern und heute
für den Versand von Spammails massiv missbraucht wurde. Da hierdurch ein
erhebliches Mailaufkommen entstanden ist, sehen wir uns gezwungen, das
Script unverzüglich zu sperren, um einen weiteren Missbrauch zu
verhindern.

Bei Skripten, welche für den Spamversand missbraucht werden, handelt es
sich meist um sogenannte Formmail Skripte, welche Daten, die über eine
Webseite eingegeben werden an bestimmte E-Mailadressen versendet. Durch
Lücken im Code dieser Skripte ist es oft möglich diese Mails auch an
weitere Adresse als nur die beabsichtigten Empfänger zu verschicken.

Einige sichere Formen dieser Skripte finden sie zum Beispiel unter:

http://nms-cgi.sourceforge.net/scripts.shtml

Sollte es sich um ein Skript handeln, welches aus einem größeren
Framework, z.B. CMS oder Forum, stammt sollten sie sich an den
Hersteller wenden, um eine neue sichere Version zu erhalten.

Bitte beheben Sie die Sicherheitslücke in Ihrer Programmierung und
bringen Sie dann Ihr Skript am besten unter einem anderen Dateinamen
ohne Sicherheitslücke wieder zum Einsatz.

ich benutze auf der seite ein php script um mails zuversenden

<?php
$empfaenger = "mail@domain.de";
$headers = "From:$email";
$nachricht =
"Name: {$_POST['name']}
Strasse, Nr: {$_POST['strasse']}
PLZ, Ort: {$_POST['ort']}
Telefon: {$_POST['telefon']}
eMail: {$_POST['email']}

Nachricht: {$_POST['nachricht']}

Formular gesendet von balballbal";

mail("$empfaenger", "Anfrage", $nachricht, $headers);
?>

benutze also gar kein formmail etc. was kann ich tun? gibt es eine sicherere möglichkeit oder anderes script das ich verwenden kann auf php basis?

gruß freso
 
Mit Formmail Skript meinen die wohl, dass Du ein Webformular zum Versenden von Mails an Dich aufgesetzt hast, so dass der Versender Deine Email-Adresse nicht sieht und unabhängig von einem Email-Programm ist.

Das Problem bei Deinem Code ist, dass keine Kontrolle der eingetragenen Daten vorgenommen wird, sprich Dein Formulas davon ausgeht, dass bei der Email-Adresse wirklich eine Adresse drin steht. Das öffnet jemandem, der Dein Skript mißbrauchen will die Möglichkeit statt einer Adresse anderen Code zu übergeben und so das Skript zu umgehen.

Wo aber genau der Fehler liegt kann ich Dir nicht sagen, dafür sind meine PHP Kenntnisse zu bescheiden.
 
Das Problem liegt darin, daß bei obigem Skript die Zieladresse leicht von außen manipuliert wer den kann! Quasi Jeder kann damit mails überall hinschicken - Spammen eben!!!

Ein einfaches:

mail("mail@meinedomaine.de", "Anfrage", $nachricht, $headers);

würde dies z.B. erfolgreich verhindern, der Empfänger kann nicht mehr geändert werden. Leider häufen sich die unangenehmen Zeitgenossen die Webseiten mit solchem Unsinn austricksen :( Waren es früher nur die Großen, so trifft es heute Jeden! Mailer sind ein Risiko und gehören 100%ig abgesichert oder man muß mit solchen Überaschungen rechen.
 
wegus schrieb:
Ein einfaches:

mail("mail@meinedomaine.de", "Anfrage", $nachricht, $headers);

würde dies z.B. erfolgreich verhindern, der Empfänger kann nicht mehr geändert werden.

Leider nicht. Was passiert, wenn Du als *Absender* z.B.
Code:
meinemail@domain.de[b]\nCc:[/b]spamopfer1@spam.de,spamopfer2@spam.de
usw. eingibst? Genau… man muss also selbst bei vermeintlich festgesetztem Empfänger noch die anderen Felder auf Cc: Bcc: usw. untersuchen und rausschmeißen. Wie das so ist im Internet, hat sich schon mal jemand Gedanken drüber gemacht.
 
Zuletzt bearbeitet von einem Moderator:
@Jakob: Du hast mich glaub ich falsch verstanden ( oder ich Dich), ich gehe von einem festverdrahteten Adressaten aus! Der Adressat bei einem Webformular muß nicht eingebbar sein, wenn es z.B. um Kundenanfragen einer Firma auf einer Webseite geht!

Webmailer mit eingebbarem Adressaten sind ein Faß ohne Boden für Spammer ein Paradies!
 
Der Adressat ist fest verdrahtet, aber man gibt ja noch seine eigene eMail-Adresse an (der „Absender“) und dieses Feld kann man - s. mein vorheriges Posting - auch sehr einfach zum Spamversand nutzen.
 
Wie lange braucht man eigentlich, um das o.g. Script "auszunutzen" - immerhin brauche ich ja zumindest ungefähr ne Ahnung, wie das Script aufgebaut ist sonst ist das ja wie im Mist stochern
 
Jakob schrieb:
Der Adressat ist fest verdrahtet, aber man gibt ja noch seine eigene eMail-Adresse an (der „Absender“) und dieses Feld kann man - s. mein vorheriges Posting - auch sehr einfach zum Spamversand nutzen.

wo gibst Du das denn ein?

In meinem Webmailer gäbe es nur ein Feld für den Nachrichtentext,
Subject würde autogeneriert als Kundenanfrage vom tt.mm.jjjj,
der Adressat wäre ebenfalls hardcodiert. Wo käme denn der Absender hin !?
Bei mir stünderer im mailtext selbst und der wird ja nun nicht ausgewertet!?

verstehe das wohl wirklich nicht, würd es aber gern ;)
 
ich habe auch noch ein wenig rumgesucht im internet, aber ohne wirklichen erfolg. habe jetzt das script mal hergenommen, das mir der provider empfiehlt. hoffe damit ist ruhe im karton. F**K SPAM
 
ein feld für den absender brauchst du schon, oder wie willst du sonst auf die anfrage reagieren? wenn man da dann tatsächlich noch weitere informationen einträgt, müsstest du die adresse darauf abklopfen. übrigens öffnet dieses problem auch bei den meisten datenbankabfragen tür und tor, aber dazu nicht mehr.
 
ein feld für den absender brauchst du schon, oder wie willst du sonst auf die anfrage reagieren?

klar, ich sehe hier aber keinen Ansatz für ne Code-injection! Das mag aber auch daran liegen, daß ich immer vorher ne mime-mail generiere!
 
Noch ein Versuch :)

Vereinfacht schaut ja ein Mailversand per PHP so aus:
PHP:
mail('kontakt@domain.de', 'Mail vom Kontaktformular', $txt, 'From: '.$absender."\n");

Du meintest, wenn der Empfänger fest codiert ist, in diesem Fall „kontakt@domain.de“, dann kann die Mail nicht an andere geschickt werden. Das geht aber doch, indem man der Variable $absender z.B. folgenden Code eingibt:
PHP:
spamopfer1@domain.de \nCc:spamopfer2@domain.de,spamopfer3@domain.de

Dadurch dass da ein \nCc: (die PHP-Darstellung verschluckt das \-Zeichen oben) drinsteht, wird das später ein Carbon Copy in den Header gesetzt. Das Mailformular wird missbraucht. Natürlich kann dem vorgebeugt werden. Ich wollte nur eine weitere Möglichkeit aufzeigen. In diesem Fall wäre eine Vorbeugung addslashes($absender), dadurch wird der Backslash vom \n maskiert und es ist kein Zeilenumbruch mehr.
 
Zuletzt bearbeitet:
*michvordenkopfschlag* ;)


ich habe immer die email-Adresse mit den Kontaktdaten (Adresse, Telefon )in dem Mailtext versendet,
Absender war bei mir immer der webmailer! Sprich $headers ist bei mir immer ==""




Deswegen habe ich das Problem nicht!
Jetzt habe ich Dich verstanden! Danke!
 
Zurück
Oben Unten