Spamschutz
Stefan
- cgi
Hallo!
Ich bin verantwortlich für die Homepage eines Segelvereins - also kein Profi der Materie.
Zur Kontaktaufname gibt es bei uns auf den Seiten ein Formular, welches per CGI-Skript eine Mail an mich sendet. Im Formular steht keine Mailadresse - diese ist im Skript verdratet. Vor ein paar Tagen bekam ich innerhalb einer Stunde ca. 2000 Mails, welche nicht über das Formular sondern nur durch automatischen Aufruf des Skriptes verschickt werden konnten. Ich habe das Skript vom Server genommen.
Wie kann ich mich (und andere) gegen soetwas schützen?
Vielen Dank im Voraus!!!
Hier das Skript:
###############
#!/usr/bin/perl
&ReadParse(*FORM);
my $sendmail = "/usr/sbin/sendmail -i -t";
if ((index($FORM{'EMail'},"@") >= 0) && (index($FORM{'EMail'},".") >= 0) && length($FORM{'Name'})>0) {
open(MAIL, "| $sendmail");
print MAIL "To: ".'xxx@web.de'."\n";
print MAIL "Cc: ".'yyy@web.de'."\n";
print MAIL "Return-Path: $FORM{'EMail'}\n";
print MAIL "From: $FORM{'EMail'}\n";
print MAIL "Subject: $FORM{'subject'}\n\n";
print MAIL "Name: $FORM{'Name'}\n";
print MAIL "EMail: $FORM{'EMail'}\n\n";
print MAIL "Inhalt: $FORM{'Inhalt'}\n";
close(MAIL);
&ok;
}
else
{
&nok;
}
exit;
###############
Hier eine der Mails (hier wurde u.a. auch Bcc ausgefüllt):
###############
To: xxx@web.de
Cc: yyy@web.de
From: pcwpblcil@web.de
Subject: pcwpblcil@web.de
Date: Sat, 10 Sep 2005 19:08:43 +0200 (CEST)
X-UIDL: fJA"!!n$"!1jZ"!h;L"!
Name: pcwpblcil@web.de
Content-Type: multipart/mixed; boundary="===============1154184264=="
MIME-Version: 1.0
Subject: 751ccfef
To: pcwpblcil@web.de
bcc: jrubin3546@aol.com
From: pcwpblcil@web.de
This is a multi-part message in MIME format.
--===============1154184264==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
gqoeeqsdp
--===============1154184264==--
EMail: pcwpblcil@web.de
Inhalt: pcwpblcil@web.de
####################
Moin!
Wie kann ich mich (und andere) gegen soetwas schützen?
Lesen. Das Forum (...die aktuelle Hauptdatei) enthält derzeit ca. 3 Theads, die sich nur um das Thema drehen und zielführende Lösungen anbieten.
Frage an Dich: Kannst Du Perl oder benutzt Du nur ein "Fertigskript"?
Im ersteren Fall: schreibe eine der hier zu findenden Lösungen um. (PHP->Perl ist nicht schwer)
Im letzteren Fall empfehle ich Dir den einfachen PHP-Formmailer zu verwenden und um eine nachrüstbare Lösung zu ergänzen. Dieses müsste ziemlich am Anfang des Skriptes verbaut werden.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi!
nachdem es scheinbar grosse problem mit dieser mailadresse von aol.com gibt
waers nicht einfacher aol.com eine mail zu senden das user "sowieso" spamm versendet
denke das verstoesst selbst bei aol gegen die agbs
security is oftmals einen schritt hinten, und diese inet_deppen koennen sich immer was neues einfallen lassen - beschaeftigungstherapie fuer "webmaster"
ew<<
nachdem es scheinbar grosse problem mit dieser mailadresse von aol.com gibt
waers nicht einfacher aol.com eine mail zu senden das user "sowieso" spamm versendet
denke das verstoesst selbst bei aol gegen die agbs
Er versendet sicher nicht den AOL Account zum spamen, sondern nutzt diese Adresse lediglich um die Formulare die er nutzen kann herauszufinden. Letztendlich trägt er nur etwas in öffentlich zugängliche Kontaktformulare dass dürfte momentan nicht verboten sein.
Struppi.
hi!
werden diese mails ueber das formular versandt oder direkt an das script geschickt?
fuer den 2ten fall koennte man ja ein input (hidden input) mit art password machen
wenn das password nicht gesendet wird - keine mail
somit waere eine loesung mit gifbild wohl am zielfuehrendsden, oede is es, aber das is ein anderes kapitel
oder funktioniert das so nicht?
ew<<
Hi,
werden diese mails ueber das formular versandt oder direkt an das script geschickt?
Bei mir war es immer so, daß einmal die Formularseite aufgerufen wurde und dann mindestens elfmal das Auswertungsscript.
Viele Grüße
Jörg
Moin!
Bei mir war es immer so, daß einmal die Formularseite aufgerufen wurde und dann mindestens elfmal das Auswertungsscript.
Das ist abhängig von der Anzahl der Formularelemente. Er sendet immer einmal den Originalinhalt des Feldes und kombiniert ansonsten für jedes Feld den Eintrag eines mehrzeiligen Inhaltes, der zur Überlistung führt.
Mit obigem Skript hätte er übrigens Erfolg haben können:
print MAIL "From: $FORM{'EMail'}\n";
Wenn in $FORM{'EMail'} sowas steht (Mit Zeilenumbrüchen!):
fjgfd@server.invalid
TO:undislosed recipients no@name.invalid
BCC:eine.adresse@server.tld,zweite.adresse@server.tld
CC:undislosed recipients no@name.invalid
Return-Path:undislosed recipients no@name.invalid
Dann geht das Mail als BCC an die dort aufgeführten Empfänger, das TO: wird überschrieben, ein CC wäre ebenso überschreibbar, wie der Return-Path.
Mich wundert also nicht wirklich , dass er das 2000 mal erhalten hat....
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
fuer den 2ten fall koennte man ja ein input (hidden input) mit art password machen
wenn das password nicht gesendet wird - keine mail
Du unterschätzt den Spammer. Der holt das aufrufende Formular und sendet Dein schönes Passwort einfach mit.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hi!
und floodcontrol nutz auch nix? in chats oder foren durchaus ueblich, zumindest sollte die menge an mails eingeschraenkt werden und maybe das macht ein formular/script uniteressant fuer spammer
oder is das auch falsch
geht es das man ein formular fuer spam verwendet, indem der absender seine email eingibt um zb generierte formdaten(name, password, ..) zu erhalten?
in dem fall is ja die emailadresse unbekannt, bzw der spammer wuerde sein muell selber bekommen halt mit name und password :)
oder auch falsch?
ew<<
Hallo!
Lesen. Das Forum (...die aktuelle Hauptdatei) enthält derzeit ca. 3 Theads, die sich nur um das Thema drehen und zielführende Lösungen anbieten.
Gut Idee ;-) - ich habe gesucht aber leider nichts konkretes gefunden - wahrscheinlich fehlen mir einfach die richtigen Suchbegriffe.
Frage an Dich: Kannst Du Perl oder benutzt Du nur ein "Fertigskript"?
copy&Paste-Programmierer - ein einfaches Vorlageskript würde also schon helfen.
- Im ersteren Fall: schreibe eine der hier zu findenden Lösungen um. (PHP->Perl ist nicht schwer)
Ich hatte die naive Hoffnung, dass es den Perl-Script gibt, der erst einmal den größten Unsinn verhindet...
Danke&Gruß
Stefan