Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Spamangriff - LÖSUNG
#1
Hallöchen,

ich bekomme seit gestern Abend Spam-Einträge ins GB (Version 0.6.2) - trotz Captcha. Das GB ist seit Anfang 2009 online und hat bisher super funktioniert.
Ich gebe zu, ich habe keine Updates gemacht, aus Sorge doch etwas falsch zu machen und dadurch anderes zu zerstören! Traurig

Als erste Vorsichtsmaßnahme prüfe ich nun die Einträge vor dem Freischalten.

Hat jemand einen Tipp, wie ich die Spams unterbinden kann?

LG Elke
Zitieren
#2
Das geht mir ganz genauso! Ich habe nun den IP-Blocker eingeschaltet und hoffe, das dies was bringt...
Zitieren
#3
Ja, seit gestern Abend habe ich das selbe Problem. Das Captcha ist seit ein paar Jahren im Gästebuch eingebaut, und hat bisher auch immer erfolgreich alle Spam-Angriffe abgewehrt. Seit gestern hat aber anscheinend jemand einen Weg gefunden das Captcha automatisiert zu umgehen. Nun die Frage, was kann man dagegen unternehmen?

1. Funktion "Moderiertes Gästebuch" einschalten.

Man bekommt dann zwar immer noch Spam-Einträge, diese werden jedoch nicht auf der Hauptseite angezeigt.

2. Das Captcha verändern.

Es kann helfen, eine andere Schriftart für das Captcha zu verwenden. Auf dafont.com gibt es tausende kostenlose und zum Teil auch freie Schriftarten. Sie können für das Gästebuch verwendet werden. Einfach die neue Schriftart von dafont.com herunter laden, in den Ordner "fonts" (0.6.4) oder in's Hauptverzeichnis (< 0.6.4) des Gästebuches kopieren, und die "includes/captcha.inc.php" (0.6.4) oder die "captcha.php" (< 0.6.4) öffnen. Dort folgenden Eintrag suchen:
Code:
imagettftext($captcha_img, 22, -5, $textwidth, $textheight, $textcolor, "../fonts/akoom.ttf", $captcha_code);
und "akoom.ttf" mit dem Namen der neuen Schriftart ersetzen.

Zusätzlich kann man dort auch die Farbe der Schrift ändern, die für das Captcha verwendet wird. Folgende Textstelle (eine Zeile über der vorher angesprochenen) suchen:
Code:
$textcolor = imagecolorallocate($captcha_img, 115, 115, 115);
"115, 115, 115" ist ein RGB Farbcode. Mit ihm kann man die Schriftfarbe ändern. Beispielfarbcodes gibt es im Wiki.

Es kann auch helfen, die Anzahl der Zeichen des Sicherheitscodes zu verändern. Dies ist jedoch etwas komplizierter, damit muss ich mich selbst erst genauer befassen, bevor ich hier eine grobe Anleitung einstelle, die ich auf die Schnelle nicht testen kann, und dann am Schluss gar nichts mehr funktioniert.


Die IP-Sperre wird nicht viel helfen, da sie leider immer noch relativ einfach gehalten ist. Ich arbeite aber bereits an der nächsten Version (0.6.5) und da wird das Haupt-Augenmerk auf der Verbesserung der eben angesprochenen IP-Sperre liegen, um genau solche automatisierte Eintragungen besser zu bekämpfen. Bis jetzt hielt ich das nicht für so wichtig, da das Captcha sehr gut funktionierte, und ich nie gehört habe, dass Spam mit dem MGB ein Problem wäre.
Zitieren
#4
Ich habe gerade eine provisorische Stringabfrage gebastelt. Da diese Spam-Einträge immer den gleichen Text beinhalten, ist es so relativ einfach, diese Einträge zu blocken.

Die "newentry.php" öffnen, und nach
Code:
$_POST['user_show_email'] = cleanstr($_POST['user_show_email']);
suchen. DANACH folgenden Code einbauen:
Code:
        $string = $_POST['message'];
        $searchstring = "Hi there, very nice homepage :-)";
        $pos = strpos($string, $searchstring);

        if ($pos !== false)
            {
            die();
            }
Wenn man will, kann man VOR das "die();" auch noch folgenden Code setzen:
Code:
mail($settings['admin_email'], "Spam-Eintrag erfolgreich abgewehrt.", "Soeben wurde ein Spam-Eintrag von ".$_SERVER["REMOTE_ADDR"]." mit folgendem Inhalt abgewehrt:\n\n".$_POST['message'], $mail_header);
Man bekommt dann jedes mal, wenn das Gästebuch einen Spam-Eintrag abwehrt, eine eMail mit der IP und dem Text des Spammers.

Selbes kann man übrigens auch in die "email.php" einbauen, da es nicht ausgeschlossen ist, dass der Spammer auch eMails an jeden bereits eingetragenen verschickt. Dort allerdings den Blocker nach folgendem Code einfügen:
Code:
$_POST['user_sendcopytome'] = cleanstr($_POST['user_sendcopytome']);

Das sollte für's erste helfen. Sollte der Text der Spam-Einträge geändert werden, einfach den String "$searchstring" mit dem neuen Text aktualisieren.
Zitieren
#5
Ich den Font geändert und auch dessen Grösse:
Von
Code:
imagettftext($captcha_img, 22, -5............
Zu
Code:
imagettftext($captcha_img, 12, -5............

Mal sehen ob's was bringt...
Zitieren
#6
So! Ich habe ein bisschen rumgebastelt. Ist nur eine vorübergehende Lösung, aber immerhin. Ich habe in die "newentry.php" und in die "email.php" folgenden Code eingebaut:
Code:
        // search for content to identify spam
        $string = bbcode_delete($_POST['message']);
        $searchstring = "Hi there, very nice homepage :-)";
        $pos = strpos($string, $searchstring);

        if ($pos !== false)
            {
            // mail($settings['admin_email'], "Spam-Eintrag erfolgreich abgewehrt.", "Soeben wurde ein Spam-Eintrag von ".$_SERVER["REMOTE_ADDR"]." mit folgendem Inhalt abgewehrt:\n\n".$_POST['message'], $mail_header);
            die();
            }
        
        // following IP adresses will be blocked. Add desired IPs to the array.
        // NOTE: the last entry has to be without a comma at the end like here:
        //
        // $string = array(
        //        'xxx.xxx.xxx.xxx',
        //        'xxx.xxx.xxx.xxx',
        //        'xxx.xxx.xxx.xxx'  <-- see? no comma :)
        //        );

        // Array for blocked IPs
        $blocked_ips = array(
                '96.2.113.71',
                '91.12.220.244',
                '188.192.170.133',
                '91.12.220.244',
                '216.232.237.20',
                '91.12.204.61'
                );

            foreach ($blocked_ips as $ip)
                {
                if ($_SERVER["REMOTE_ADDR"] == $ip)
                    {
                    // mail($settings['admin_email'], "Spam-Eintrag erfolgreich abgewehrt.", "Soeben wurde ein Spam-Eintrag von ".$_SERVER["REMOTE_ADDR"]." mit folgendem Inhalt abgewehrt:\n\n".$_POST['message'], $mail_header);
                    echo "Are you a spammer? Not? Your IP was blocked. If that happened by mistake report it to the admin.";
                    die();
                    }
                }
Der erste Teil bewirkt, dass Einträge geblockt werden, die einen bestimmten Text enthalten. Der zweite Teil blockt einen Eintrag, wenn die IP des Benutzers mit einer der gespeicherten IPs in dem array "$blocked_ips" übereinstimmt. Die IPs die sich jetzt da drin befinden, habe ich aus den Spam-Einträgen im Gästebuch gesammelt. Das Array kann beliebig erweitert werden. Wichtig dabei ist nur, dass sich hinter dem letzten Eintrag kein Komma befindet. Wird in dem Kommentar auch nochmal gut erklärt.

Möchte man eine eMail erhalten, wenn ein Spam-Eintrag abgewehrt wurde, dann einfach bei
Code:
// mail($settings['admin_email'], "Spam-Eintrag erfolgreich abgewehrt.", "Soeben wurde ein Spam-Eintrag von ".$_SERVER["REMOTE_ADDR"]." mit folgendem Inhalt abgewehrt:\n\n".$_POST['message'], $mail_header);
die "//" entfernen.

Ich habe die beiden Dateien gepackt. Sie können hier herunter geladen werden. ACHTUNG: Diese Dateien sind aus der 0.6.4. Wenn der Code in eine ältere Version eingebaut werden soll, dann bitte manuell eintragen. Und zwar in der newentry.php NACH
Code:
$_POST['user_show_email'] = cleanstr($_POST['user_show_email']);
und in der "email.php" NACH
Code:
$_POST['user_sendcopytome'] = cleanstr($_POST['user_sendcopytome']);
Das müßte dann soweit funktionieren.

Download für 0.6.4: 7-zip | Zip | GZip | BZip2
Zitieren
#7
Mich hats auch getroffen... a bissl zumindest... Habe seit dem 22ten Oktober ca. 9 Einträge verzeichnet...
habe jetzt mal den Fix eingebaut...
Gruß aus Franken!
Für sichere Kommunikation finden Sie meinen verifizierten/bestätigten öffentlichen PGP Schlüssel unter gpg.heyj.de
Zitieren
#8
Hallo,

ich habe auch das Problem mit den Spams gehabt. Der Fix hilft bisher zur Abwehr. Aber es kommen weiterhin Antworten von E-Mail-Servern die besagen, dass eine E-Mail mit meiner Absenderadresse nicht zugestellt werden konnte. Ich vermute mal, die Spammer haben auch die Adressen gesammelt und nehmen die jetzt als Absender. Und es kommt noch schlimmer:
Ich habe mir mal die Absender-IP-Adressen der Spams angeschaut, die kommen alle von Webhostern. Da liegt für mich die Vermutung nahe, das die Sapmmer irgendeine Sicherheitslücke in m-gb oder php ausnutzen um darüber ihre E-Mails verschicken. Dummerweise kann ich das nicht weiter untersuchen, da ich keine Serverlogs bei meinem Webhoster einsehen kann. Falls das jemand kann wäre es schön wenn derjenige mal den Ablauf eines Spam-Eintrags hier posten könnte.

Schönen Gruß aus Bikini Bottom
Zitieren
#9
Hmm... ich habe noch keine einzige eMail bekommen, dass eine eMail von mir nicht zugestellt werden hätte können. Eine Sicherheitslücke im MGB kann es nicht sein, da die eMail Adressen der Benutzer, die sich eingetragen haben, in der Datenbank gespeichert werden. Und wenn jemand eine eMail über das MGB verschickt, dann wird die eMail Adresse aus der Datenbank geladen. Sie wird dabei nirgendwo im Gästebuch angezeigt. AUSSER ein Admin hat den eMail-Spamschutz deaktiviert. Was in der heutigen Zeit aber schon fast grob fahrlässig ist. Deswegen habe ich auch schon überlegt diese Option rauszunehmen, und den eMail Spamschutz als Standard einzuführen.

Woher weißt Du, dass diese IP-Adressen von Webhostern kommen? Ich hatte bisher den Eindruck, dass sie wild aus allen möglichen Ländern kommen würden. Es sind auch sehr oft die gleichen IP-Adressen dabei. Und die benutzten eMail Adressen ergeben nie Sinn.
Zitieren
#10
mopzz schrieb:Woher weißt Du, dass diese IP-Adressen von Webhostern kommen? Ich hatte bisher den Eindruck, dass sie wild aus allen möglichen Ländern kommen würden. Es sind auch sehr oft die gleichen IP-Adressen dabei. Und die benutzten eMail Adressen ergeben nie Sinn.

Ich habe mit nslookup einige der Hostnamen nachgeschaut und einige hatten so typische DNS-Namen wie zum hostingXYZ.Firma.com. Einige IP-Adressen habe ich jetzt auch im Webbrowser eingegeben und es kamen auch wirklich Webseiten, wenn auch nicht bei allen. Ob man meine Annahme verallgemeinern kann ist natürlich die nächste Frage, vielleicht verschicken die Spammer sowohl von Servern als auch von Privatrechnern.

Die nicht zugestellten E-Mails haben als Absender die Admin-Adresse meines Gästebuchs. Das E-Mails von Benutzern abgefischt wurden habe ich ebenfalls nicht beobachtet. Die Admin-Adresse wird auch als Absender für die E-Mail an die Leute die sich ins Gästebuch eintragen verwendet, falls die Spammer also irgendwann mal eine gültige E-Mail-Adresse verwendet haben konnten sie so auch meine E-Mail-Adresse einsammeln.
Es könnte natürlich auch sein, das die nicht zugestellten E-Mails noch aus der Zeit stammen, als ich den Spamfilterfix noch nicht eingespielt hatte und die E-Mail-Server einfach noch eine Weile brauchen. Einfach mal abwarten...
Zitieren
#11
mopzz schrieb:So! Ich habe ein bisschen rumgebastelt. Ist nur eine vorübergehende Lösung, aber immerhin. Ich habe in die "newentry.php" und in die "email.php" folgenden Code eingebaut:

Ich habe mal die zum Download angebotenen Dateien eingebaut, aber aktuell kann ich interessanter weiße KEINE Einträge mehr im Gästebuch machen. Ich hab das ehrlich gesagt nicht mal getestet nach dem Update von 0.6.2 auf die 0.6.4... Auf jedenfall bekam ich jetzt ne Mail, dass das nicht mehr geht. Es erscheint nach dem erfolgreichen eingeben des Catchas einfach nochmal die selbe Seite ohne das da was passiert ist.

schau mal bitte hier: <!-- m --><a class="postlink" href="http://www.ff-heuchling.de/gbook.html">http://www.ff-heuchling.de/gbook.html</a><!-- m -->

Gruß
Christian
Gruß aus Franken!
Für sichere Kommunikation finden Sie meinen verifizierten/bestätigten öffentlichen PGP Schlüssel unter gpg.heyj.de
Zitieren
#12
Du hast doch gar nicht auf die 0.6.4 upgedated, oder? Der Vorschau-Button fehlt nämlich. Hast Du lediglich die zwei Dateien des Downloads eingebaut? Du musst nämlich vorher die 0.6.4 drüber kopieren, das upgrade ausführen, und dann erst die beiden Dateien überschreiben.

Anders kann ich mir das jedenfalls nicht erklären. Denn bisher gibt es keine Berichte, dass nach einer Überschreibung der beiden Dateien keine Einträge mehr möglich wären. Ich selbst habe das auch bei mir getestet, und es funktioniert einwandfrei.
Zitieren
#13
Evtl liegts an meinem angepassten Template?? das hab ich mehr oder weniger wieder so wie ich es von 0.6.2er hatte übernommen. Musste nur dem Catcha-Pfad im Template anpassen...

Schau mal hier: <!-- m --><a class="postlink" href="http://www.ff-heuchling.de/gaestebuch/admin/admin.php">http://www.ff-heuchling.de/gaestebuch/admin/admin.php</a><!-- m -->
ist 0.6.4...
und natürlich hab ich die Patch-Files NACH dem Upgrade eingespielt Lachen
Naja, keine Ahnung was des soll

Gruß
Christian
Gruß aus Franken!
Für sichere Kommunikation finden Sie meinen verifizierten/bestätigten öffentlichen PGP Schlüssel unter gpg.heyj.de
Zitieren
#14
Hmm... ne, sowas liegt normal nicht am Template, wenn keine grundlegenden Dinge geändert wurden. Deshalb ja auch die Trennung von Code / Optik. Zwinkern Hier sind die genauen Änderungen am Template.

Es sieht jedenfalls so aus, als würden keine Daten gesendet, sondern lediglich die Seite neu geladen. Geht es denn, wenn Du die originalen Dateien des 0.6.4 benutzt?
Zitieren
#15
Hallo,

leider gibt es wieder vermehrte SPAM-Einträge trotz aktuellem Update und SPAM-Schutz-Update.
Vielleicht müsste der Spamschutz einmal komplett überarbeitet werden?

Ich selbst habe mir für die Kontakt-Formulare selbst einen Spamschutz ausgedacht, der eine simple Rechenaufgabe erfordert,
vielleicht wäre das ja sinnvoll? Das Abtippen von Zahlen/Zeichen, die man nicht richtig erkennt, sorgt doch immer wieder
für Verärgerung von Besuchern...

Viele Grüße
SVDH
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste