Hallo Forum User,
seit gestern habe ich ein massives Spammerproblem in meinem Gästebuch.
Bekomme pro Std mindestens 5 neue Spam Einträge trotz Captcha Erweiterung. Mit anderen Worten die Spammer umgehen die captcha abfrage, was entweder heißt, daß sie eine Schwachstelle im Typo3 gästebuch gefunden haben, wo sie das Eingabeformular umgehen oder aber Sie ein Weg gefunden haben das Captcha Bild auszulesen.
Da der Text Inhalt immer nach gleichem Shema aufgebaut ist würde ich jetzt gerne den Text nach Schlagworten zu durchsuchen und wenn diese gefunden werden soll es zu keinem Eintrag kommen. Brauche ein Tip, wie und wo ich dort ansetzen kann.
Mach bitte erstmal eine Meldung an bugs.typo3.org 😉
Hab ich gemacht, auch wenn ich mir dabei in Engisch ziemlich ein abgestammelt hab. Bin mir mittlerweile ziemlich sicher, daß das Eingabeformular direkt umgangen wird und das Skript zum einschreiben in die Datenbank direkt angesprochen wird. Deshalb hat sich das wohl auch mit der Kommentarlösung. wenn ich heute abend Zeit habe werde ich versuchen mal die Namen der Dateien zu ändern und gucken was dann passiert. Ich könnte mir nämlich vorstellen, daß wenn die Spammer wissen welche Datei sie ansprechen müßen dem ganzen eventuell vorgaukeln können, daß alle Eingaben richtig gemacht wurden.
Auf jeden Fall nervt es, da ich keine Lust habe mein Gästebuch zu schließen ( da für uns als Band ja die beste Möglichkeit mit den Leuten draußen zu kommunizieren) muß ich jetzt stündlich die Kommentare löschen.
Habe eine temporäre Lösung gefunden. Ich hoffe diese hält für eine Zeit. Habe das Gästebuch auf eine andere Seite verlegt und habe im header <meta name="robots" content="nofollow" /> eingefügt. Seitdem ist Ruhe......vorerst jedenfalls.
Hallo,
habe seit einigen Tagen gleiches Problem. Wenn man anderen Foren glauben schenken darf, ist das ein allgemeines "Gästebuch"-Problem. Die Gruppe nennt sich selbst wohl *blackjack* und macht "per Hand" (also ohne Bot) einträge zu tausenden in v. a. deutschen Gästebüchern - immer unter verschiedenen Namen und eMail-Adressen.
Von einem Dehler im Gästebuchskript (ve_guestbook) gehe ich also nicht mehr aus (war auch mein erster Gedanke).
Meine Idee ist nun, verschiedene Begriffe die als Kommentartext eingetragen werden auf einer Art "Blacklist" einzutragen (z. B. Casino, Viagra, ...). Beim Auftreten eines Begriffes gibt's dann eben eine Fehlermeldung und der Eintrag wird nicht gespeichert.
Allerdings hab ich keinen Plan, wie ich sowas Einbauen könnte. Jemand vielleicht eine Idee oder Ansatzpunkt?
Vielen Dank schonmal im Voraus,
Sebastian
Hallo Leute.
Hatte dasselbe Problem in einem meiner ve_guestbook Gästebücher, aber es sieht so aus als hätte ich es nun gelöst.
Der Trick liegt darin die "action" des Eintrage-Formulares erst auf ein nicht existierendes Ziel zu lenken.
<form name="formular" method="post" action="nie-wieder-spam">
Dann habe ich einen Javascript-Timer eingebaut, der nach 10 Sekunden die "action" auf die richtige URL umstellt. Die Überlegung dahinter ist, dass Spam-Roboter das Formular in ein paar Millisekunden nach ausfüllen und abschicken können. Eine reale Person braucht dafür sicher mehr als 10 Sekunden.
Das ganze in der Praxis: http://www.neumueller.net/volleyball/gaestebuch.html
Und hier das JavaScript dazu:
<script language="JavaScript" type="text/javascript">
<!--
// Dieses Script soll verhindern, dass Spam-Roboter andauernd Einträge im Gästebuch machen.
// Das Gästebuch ist einfach für die Dauer von X Sekunden funktionsunfähig (form-action ist absichltich falsch)
// Nach X Sekunden wird die form-action dann richtig gesetzt und der "Eintragen"-Button wird aktiviert.
// 05.03.2006
// (c) Christoph Neumüller - www.neumueller.net
var secs
var timerID = null
var timerRunning = false
var delay = 1000
function InitializeTimer()
{
// Dauer der Spamsperre
secs = 10
StopTheClock()
StartTheTimer()
}
function StopTheClock()
{
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function StartTheTimer()
{
if (secs==0)
{
StopTheClock()
// alert("gaestebuch.html")
document.formular.action = "gaestebuch.html"
document.formular.abschbutton.disabled = false
document.formular.abschbutton.value = "Eintragen"
}
else
{
document.formular.abschbutton.disabled = true
document.formular.abschbutton.value = "Eintragen (" + secs + ")"
secs = secs - 1
timerRunning = true
timerID = self.setTimeout("StartTheTimer()", delay)
}
}
InitializeTimer()
//-->
</script>
Wenn ich die Rulez666-Einträge so sehe (vermutlich inzwischen gelöscht), dann scheint die Methode ja doch nicht wirklich zu funktionieren (alleine 4 Einträge um 19:08 Uhr, 5 etwa um 10 Uhr).
Oder sind diese Dinger tatsächlich von einem menschlichen Spammer eingegeben worden?
Yes, i know. Denn eigentlich ist der Schutz unwirksam, wenn man das Formular einfach an die selbe Datei abschickt, oder die Zieldatei vom Spammer manuell eingestellt wird.
Aber dazu hab ich mir schon einen neuen Schmäh ausgedacht: http://www.neumueller.net/blog-artikel/artikel/gaestebuch-spam-die-zweite.html
MfG
Yes, i know. Denn eigentlich ist der Schutz unwirksam, wenn man das Formular einfach an die selbe Datei abschickt, oder die Zieldatei vom Spammer manuell eingestellt wird.
Hab ich dir doch "damals" schon gesagt (
#406122).
Ich hatte (bis gestern) genau dasselbe Problem. Es wurde in das Gästebuch gespammt, indem direkt gepostet wurde, ohne vorher das Formular anzuzeigen (und damit ohne die captcha-Grafik überhaupt zu generieren).
Das Problem mit der captcha-id war dabei die zugehörige Abfrage in der gepatchten class.tx_veguestbook_pi1.php, die ich verwende. Wenn ich den Code von ve_guestbook 1.12.0 und freeCap 0.3.3 richtig gelesen habe, dann dürfte das Problem mit diesen neuen Versionen nicht auftreten.
Bei mir half es jedenfalls, diese Abfrage zu erweitern:
if ( (strcasecmp($this->postvars['captcha_response'], $captchaStr) != 0) {
Hier wird nicht geprüft ob captcha überhaupt geladen wurde und es wird nicht geprüft ob der captcha_response überhaupt vorhanden ist (alternativ könnte man wohl auch prüfen ob captchaStr leer ist). Das habe ich hinzugefügt:
if ( (strcasecmp($this->postvars['captcha_response'], $captchaStr) != 0) ||
(!isset($this->postvars['captcha_response']))||
($captchaStr == -1) ) {
Diese Anpassung war nachgewiesen erfolgreich (In der Nacht gab es wieder die entsprechenden POST requests, doch im Gästebuch ist nix aufgetaucht - und ja, das Gästebuch funktioniert noch 😉).
Wie gesagt: Mit aktuellem ve_guestbook und freeCap gibt es das Problem (vermutlich) nicht mehr. Daher die Spannende Frage an discostu: Welche Version(en) benutzt Du?
@woida
Eh. Dem hab ich ja auch zugestimmt. Allerdings wusste ich nicht wie intelligent und ausgereift diese Spam-Roboter eigentlich sind. Sind meine ersten Erfahrungen in diesem Bereich.
@r@zorbla.de
Ich nutze ve_guestbook in der Version 1.12.0. Captcha brauch ich nicht 🙂
discostu schrieb
@r@zorbla.de
Ich nutze ve_guestbook in der Version 1.12.0. Captcha brauch ich nicht 🙂
Aha. 1.12.0, Captcha nicht nötig und Spamschutz mit JavaScript. Bist du selber Rulez666 ? 8-)
Oder wie?
Guck mal in dein Gästebuch, da wimmelt es nur so von Spam...
http://www.neumueller.net/volleyball/gaestebuch.html
discostu schrieb
Hallo Leute.
Hatte dasselbe Problem in einem meiner ve_guestbook Gästebücher, aber es sieht so aus als hätte ich es nun gelöst.
Der Trick liegt darin die "action" des Eintrage-Formulares erst auf ein nicht existierendes Ziel zu lenken.
<form name="formular" method="post" action="nie-wieder-spam">
Dann habe ich einen Javascript-Timer eingebaut, der nach 10 Sekunden die "action" auf die richtige URL umstellt. Die Überlegung dahinter ist, dass Spam-Roboter das Formular in ein paar Millisekunden nach ausfüllen und abschicken können. Eine reale Person braucht dafür sicher mehr als 10 Sekunden.
Das ganze in der Praxis: http://www.neumueller.net/volleyball/gaestebuch.html
Und hier das JavaScript dazu:
<script language="JavaScript" type="text/javascript">
<!--
// Dieses Script soll verhindern, dass Spam-Roboter andauernd Einträge im Gästebuch machen.
// Das Gästebuch ist einfach für die Dauer von X Sekunden funktionsunfähig (form-action ist absichltich falsch)
// Nach X Sekunden wird die form-action dann richtig gesetzt und der "Eintragen"-Button wird aktiviert.
// 05.03.2006
// (c) Christoph Neumüller - www.neumueller.net
var secs
var timerID = null
var timerRunning = false
var delay = 1000
function InitializeTimer()
{
// Dauer der Spamsperre
secs = 10
StopTheClock()
StartTheTimer()
}
function StopTheClock()
{
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function StartTheTimer()
{
if (secs==0)
{
StopTheClock()
// alert("gaestebuch.html")
document.formular.action = "gaestebuch.html"
document.formular.abschbutton.disabled = false
document.formular.abschbutton.value = "Eintragen"
}
else
{
document.formular.abschbutton.disabled = true
document.formular.abschbutton.value = "Eintragen (" + secs + ")"
secs = secs - 1
timerRunning = true
timerID = self.setTimeout("StartTheTimer()", delay)
}
}
InitializeTimer()
//-->
</script>
Hi, bin nun auch erwischt wurden, meine Idee, Gästebuch mit einen
Login zu schützen, würde das funktionieren ?
Mfg wupp
wupp schrieb
Hi, bin nun auch erwischt wurden, meine Idee, Gästebuch mit einen
Login zu schützen, würde das funktionieren ?
Kommt auf die Umsetzung an. Wenn es genauso gut funktioniert wie das alte ve_guestbook mit dem im Netz kursierenden Captcha-Patch, dann wird das vermutlich nicht viel helfen.
Das von mir angepasste (siehe ein paar Posts vorher) Gästebuch (altes ve_guestbook aus der 0.x-Reihe mit Captcha-Patch) hat seither keinen Spam mehr gesehen. Gegen Spam der manuell eingetragen wird hilft das natürlich auch nix, aber soweit ist es noch nicht gekommen. Der Automatisierte Spam bleibt zur Zeit jedenfalls draußen, denn der basierte ja auf der Ausnutzung der von mir nun gestopften Lücke.
-dirk
Ich werde jetzt meine Lösung erstmal bevorzugen um SPAM abzuwehren.
"tt-guest" ohne ve_.... , captcha ... aber mit "login"
Ich habe mir einen FE user angelegt, der Schützt lediglich die "POSTFORM" , sobald der Webseite User den Login namen und das Password eingegeben hat, wird Postform freigegeben. Login Namen und Password steht als Bild für alle Sichtbar zur Verfügung.
Ich habe es jetzt 2 Tage an 2 Webseiten getestet und 2 Seiten hatte ich noch unberührt gelassen. Bei denen die ich nicht geschützt hatte, waren ca. 30 Einträge über Nacht drin, bei denen die geschützt waren, nicht einer.
Also wer mit php, scripts und Programmieren nicht viel am hut hat, für den ist es erstmal eine gute Lösung, mit der man leben kann.
Dieses Forum beruht ja auf demselben prinzip
Mfg wupp