PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Captcha


WhiteVelvet
2007-03-01, 16:31:11
Ich hab jetzt endlich mal eine meiner Seiten mit einem lokalen Captcha ausgestattet. Wenn ich selbst teste, klappt das auch, aber heute sind wieder dutzende von Spameinträgen da. Wie kann denn das sein? Lässt sich das Code-Bild zu leicht scannen? Oder gibt es inzwischen eine andere Hintertür für die Bots?

Zaffi
2007-03-01, 16:51:19
Captchas sind AFAIK kein wirkungsvoller Schutz, höchstens sind es ein paar weniger Einträge...

Mein Gästebuch wird auch jeden Tag geflutet, diese Spammer gehören erschossen !

Gast
2007-03-01, 17:00:08
jup is ganz normal.

lösung. wirkungsvolle spamfilter einbauen (den rest manuell ausmüllen)

einen wirklichen schutz ohne einschränkungen gibts nich

WhiteVelvet
2007-03-01, 18:18:40
Nein, ich werde eine Lösung finden. Mein Captcha ist wohl einfach nur zu einfach. Ich werde die Grafik wohl schwieriger konstruieren müssen... so schnell gebe ich nicht auf ;)

Ich könnte die Grafikdati umbenennen (heissen captcha.png lol) oder ich könnte 3 Grafiken nebeneinandersetzen... hmmm man müsste wissen wie so eine Attacke funktioniert. Sind es "dumme Bots" die automatisch nach Scripten suchen, oder schauen sich die Scripte echte Menschen an und programmieren danach den Bot, was er tun soll?

darph
2007-03-01, 20:12:32
Sowohl als auch.

Es gab mal einen, der hatte auf seiner Website Pornobilder angeboten - die bekam man aber nur, wenn man ein Captcha gelöst hat. Das wurde allerdings von Yahoo aus eingebunden. Mit den Lösungen des Chaptchas hat der Typ sich dann tausende Yahoo!-Adressen für Spamming-Zwecke eingerichtet. ;)

Generell gilt aber: Texterkennung ist mittlerweile so gut, daß man Captchas als unsicher betrachten kann. Das Einzige was hilft, ist, das Formular so zu gestalten, daß es von den Bots nicht als solches verwendet wird, will sagen: Keine Standardsoftware verwenden und das Gästebuch um Himmelswillen auch nicht guestbook.php nennen.

WhiteVelvet
2007-03-01, 21:04:16
Das bringt aber auch nichts, weil der Name des Gästebuchs immer irgendwo offen verlinkt ist. Ich frage mich wirklich, wie Spambots arbeiten. Gibts da irgendwo Literatur zu? Nur wer seinen Gegner studiert, kann ich bekämpfen ;)

darph
2007-03-01, 22:35:34
*schulternzuck* Bild runterladen, durch's OCR laufen lassen, per http-POST den Eintrag mit Captchalösung senden und ab zur nächsten URL in der Liste (yay for google).

Gast
2007-03-01, 22:40:53
schon mal dran gedacht, einfach die beiträge erst speichern und dann frei zu geben? dann würde zumindest kein müll drin stehen.

WhiteVelvet
2007-03-01, 22:40:53
@darph: Das meine ich nicht. Ich meine eher, woher der Bot schon im Vorfeld weiß, was die Lösung des Rätsels ist. Es könnte ja verschiedene Lösungen geben:

1) Code ablesen und eintippen (standard)
2) Im Bild steht eine einfache Rechnung, ins Feld kommt das Ergebnis
3) oder was ich mir eben überlegt habe: Die IP Adresse über ein Eingabefeld setzen und diese dort eintippen, das Zielscript kann dann die IP-Adresse aus dem Eingabefeld mit der tatsächlichen vergleichen

Würde er Punkt 3) knacken, müsste ein Mensch dahinterstecken, der dem Bot einmal sagt, wie es geht. Alleine kann er das sicher nicht wissen.

@Gast: Mach das mal bei 1000 Spam-Einträgen am Tag ;)

Gast
2007-03-01, 22:43:01
nur eine vermutung: könnte mir vorstellen, dass solche bots mit einem ausgeklügelten ajax-script ernsthafte schwierigkeiten haben.

darph
2007-03-01, 22:51:05
3) oder was ich mir eben überlegt habe: Die IP Adresse über ein Eingabefeld setzen und diese dort eintippen, das Zielscript kann dann die IP-Adresse aus dem Eingabefeld mit der tatsächlichen vergleichen
Das raff ich jetzt nicht.

Zu den anderen Punkten: Schätzungsweise 95% aller Gästebücher und Foren sind irgendwelche Software, die man irgendwo runtergeladen hat. BurningBook oder wie das heißt, vBulletin, phpBB und so weiter. Und die haben alle eines gemeinsam: Die Art und weise, wie das Posting abgeschickt wird. Dafür ein Script zu schreiben das eine Seite aufruft, die URL von dem Captcha-Bild auszulesen, das Bild durch eine mehr oder minder ausgeklügelte OCR-Software zu jagen und dann per POST weiter zu gehen - das ist halbwegs trivial. Gib mir eine Liste von vBulletin-Boards und ich schreibe dir innert einer Stunde ein Programm, daß dort überall ein Posting absetzt. Das einzige Problem ist: Wie gut ist das Capcha und wie gut ist die OCR-Software? Meist gewinnt letztere. Solange aber die Schnittstelle standardisiert ist, gibt es auch Bots die sie kennen. Ergo: Eigene Formulare definieren, Software selbst schreiben.

Dann bleiben nämlich nur noch die Schüler und Studenten übrig, die in kleinen Softwareschmieden als Aushilfen arbeiten und dort für 10 Euro die Stunde Gästebücher bespammen. Und die gibt es. Glaub mir. ;)

nur eine vermutung: könnte mir vorstellen, dass solche bots mit einem ausgeklügelten ajax-script ernsthafte schwierigkeiten haben.
Die - und alle diejenigen, die nicht gerade einen Mainstreambrowser ohne irgendwelche geänderten Einstellungen benutzen. Die denkbar schlechteste alternative. Insbesondere, da das xmlhttprequest ja eh auch über http spricht. Ist das Format der get/post-Daten bekannt, ist es ein Leichtes, das zu simulieren. Der Server weiß nicht, ob auf der anderen Seite ein Script oder ein Mensch sitzt. Da hilft auch Ajax nicht. Kann ich mir zumindest nicht vorstellen, lasse ich aber gerne eines Besseren belehren.

Gast
2007-03-01, 23:06:55
Die - und alle diejenigen, die nicht gerade einen Mainstreambrowser ohne irgendwelche geänderten Einstellungen benutzen. Die denkbar schlechteste alternative. Insbesondere, da das xmlhttprequest ja eh auch über http spricht. Ist das Format der get/post-Daten bekannt, ist es ein Leichtes, das zu simulieren. Der Server weiß nicht, ob auf der anderen Seite ein Script oder ein Mensch sitzt. Da hilft auch Ajax nicht. Kann ich mir zumindest nicht vorstellen, lasse ich aber gerne eines Besseren belehren.
Mein Gedanke war halt, das die meisten Bots auf diese Art und Weise (noch) nicht arbeiten.
Woher sollte ein Bot wissen, wo ein Eingabefeld oder von mir aus auch ein Captcha ist, wenn es noch nicht ausgegeben wird.

Und schließlich sind auch noch andere Methoden denkbar, z.B. ein JS-Timer der 3sec einfach runterläuft. Da sind die Bots einfach wahrscheinlich nicht intelligent genug. Würde mich zumindest wundern ;)

Klar, nicht gut, würde aber das aber dem Spam vorziehen.

Gast
2007-03-01, 23:10:08
und da gibts ja auch noch den referer-trick den man noch kombiniert mit einbauen könnte. wenn man nicht von der weitergeleiteten, eigenen url kommt dann geht halt nix.

darph
2007-03-01, 23:12:21
Und schließlich sind auch noch andere Methoden denkbar, z.B. ein JS-Timer der 3sec einfach runterläuft. Da sind die Bots einfach wahrscheinlich nicht intelligent genug. Würde mich zumindest wundern ;)
Wenn du das nur auf deiner Seite machst - klar, könnte funktionieren (wobei dem Server ein 3-Sekunden-Timer clientseitig auch egal wäre, aber ja, ich weiß worauf du hinaus willst). Aber sobald diese eine Art des Schutzes auf 100 Servern läuft, weil sie Teil der Gästebuchsoftware ist, gibt es auch wieder Leute, für die es sich lohnt, ihre Bots darauf zu trainieren. Der ganze Prozeß muß einzigartig sein, dann ist es sicher (bis auf oben genannte Aushilfskräfte), weil es eben nicht automatisiert läuft.

und da gibts ja auch noch den referer-trick den man noch kombiniert mit einbauen könnte. wenn man nicht von der weitergeleiteten, eigenen url kommt dann geht halt nix.
Der läßt sich aber auch faken. Linkschutz bei Bildern? Standardmäßig leeren Referrer übertragen und es funktioniert. Schau dir die diversen Bilderthreads auf der Spielwiese an.

WhiteVelvet
2007-03-02, 08:10:28
Nochmal die 3) erklärt: Das Gästebuch-Script zeigt statt eines Captcha-Bildes einfach die IP-Adresse des Benutzers in Textform an. Dadrunter gibts wie gewohnt ein Eingabefeld, in das diese Nummer eingetragen werden muss. Teil 2 des Gästebuch-Scripts vergleicht dann diese Zahl mit der tatsächlichen IP-Adresse des Benutzers.

Die Idee ist einfach, dass der Bot von alleine nicht wissen kann, dass da eine IP-Adresse steht. Daher ja auch meine Frage, ob eventuell ein Mensch dem Bot vorher sagen kann, was er auf der Seite zutun hat.

Ich programmiere grundsätzlich alle Scripte selbst in PHP und benutze keine Standardnamen. Daher wunderte es mich ja, dass er das Captcha schon nach wenigen Minuten geknackt hatte.

Wie siehts mit mehrframigen GIFs aus? Man könnte Zahlen auf verschiedenen Frames unterbringen. Keine Ahnung, ob das die Bots auch schon analysieren können...

The_Invisible
2007-03-02, 11:43:56
ja klar, bots sind ja auch nur dumme programme ohne AI, wenn es sowas gäbe würde der eine entwickler eh schon steinreich sein.

eine möglichkeit wäre zb vor dem absenden nochmal eine zwischenseite einzubauen ob das wirklich ok ist sowie ein "max einträge pro ip per n sek" und "max einträge per n sek"

mfg

Gast
2007-03-02, 13:11:34
ich bin jetzt mal ganz unverschämt.....
aber bist du dir sicher dass du nicht irgendwo selbst eine ganz einfache lücke gelassen hast die das lösen deines captchas völlig unnötig macht.
hab sowas schon oft erlebt.....
gib doch mal die url der entsprechenden seite an.
vielleicht findet ja jemand was.

Tommes
2007-03-02, 13:49:00
Eine Alternative ist auch, dass man einfach ein Bild zeigt und der User eintippen muss was er darauf sieht: Hund, Katze, Haus, Geld, Titten...

Unfug
2007-03-02, 13:53:26
Kleiner Tip von mir.Ich hab mal für einen Internetshop das Gästebuch minimal erweitert. Es war eine kostenlose Version von einem Gästebuch was man sich per Script installieren konnte. Ich hab einfach ein neues Input Feld reingemacht und man musste nur 123 eingeben.
Es gab seit diesem Tag keinen einzigen Spambeitrag mehr.
Ich vermute mal stark, daß die Spambots alle vorkonfiguriert sind.
Macht zum Bleistift

<input type="text" name="SpambotsSindDoof">


und fragt dann diesen Wert ab. Das reicht völlig. Nichtmal passwort als Type muss man angeben.

p.s: seither 2 Jahre ohne Spam...

SeaEagle
2007-03-02, 14:44:47
Du könntest ja mal im gulli-board nachfragen.
www.gulli.com

ich denke die wissen wie solche captcha erkennungssoftware funktioniert, denn die haben ja das USD entwickelt, in dem man nur noch rapidshare links eintragen muss, und er füllt das captcha automatisch rein. wenn du weißt wie das funktioniert (teilweise mit finereader), dann wirst du auch sicher einen weg finden, zumindestens etwas sicherer zu sein!

WhiteVelvet
2007-03-02, 14:53:50
Danke für die Tipps. Ich probiere einfach mal weiter aus...

Kinman
2007-03-02, 21:35:15
Ich löß es anders. Statt eine Grafik anzuzeigen, zeige ich Zahlen an. Jedoch stehn da noch andere Zahlen inzwischen, die aber die selbe Farbe haben wieder der Hintergrund, und somit fürn Menschen unsichtbar sein.

Hat sich bisher bewährt

mfg Kinman

WhiteVelvet
2007-03-03, 00:48:05
Das klingt gut, werd ich morgen sofort mal probieren :) Interessanterweise werden die Zahlen damit ja nur durch HTML-Steuerzeichen getrennt und damit auseinandergerissen, was der Betrachter nicht sieht. Alternativ könnte man dann auch die Zahlen in verschiedene Tabellenspalten aufteilen, was man auch nicht sehen kann.

Sehr interessantes Thema :)

Wanginator
2007-03-03, 02:20:06
Eine andere Möglichkeit, die ich auch mal gesehen habe, ist es eine leichte Rechenaufgabe zu stellen, z.B: "Was ist 3 plus 8". Im Inputfeld kommt die Lösung und das Script vergleicht beide. Dürften die meisten bots wohl nicht so einfach verstehen.

creave
2007-03-04, 00:57:32
Schau dir mal das Projekt hier an, werden u.a. die Schwächen diverser Captchas erwähnt.

http://sam.zoy.org/pwntcha/

Was ich gemacht habe: ebenfalls mit der Grafikbiblithek Bilder erstellt, wo geometrische Formen in verschiedenen Farben zu sehen sind. Sprich Kreise, Quadrate, Dreickecke etc. Dann wird rein zufällig eine Frage generiert a la "wieviele grüne Quadrate siehst du?"
Wäre vermutlich einfach zu knacken wenn das jmd wollte, bis heute hat sich jedoch kein spam mehr eingeschlichen.

Gast
2007-03-04, 14:40:57
Eine andere Möglichkeit, die ich auch mal gesehen habe, ist es eine leichte Rechenaufgabe zu stellen, z.B: "Was ist 3 plus 8". Im Inputfeld kommt die Lösung und das Script vergleicht beide. Dürften die meisten bots wohl nicht so einfach verstehen.So ähnlich wird es ja hier im 3DC-Forum gemacht, wenn man als Unreg einen Thread eröffnen will.

WhiteVelvet
2007-03-13, 18:19:09
Für mich ist es bewiesen: hinter den Spambots steckt zunächst mal ein Mensch, der speziell für eine Website die Lösung vorgibt. Habe auf meiner alten Clan-Website (http://www.ditonovia.de/vvv/) die IP-Strategie ausprobiert und es dauerte keine 2 Tage, da war es schon geknackt, obwohl ich keine Captcha-Bilder mehr benutze und es eigentlich nur eine "dumme" Zeichenfolge ist. Die Taktik hab ich selbst erfunden (ich will es mal überheblicherweise so nennen ;) ) und somit muss der Bot speziell dadrauf trainiert worden sein. Oder was meint Ihr?

Nächster Schritt wäre eine Rechenaufgabe, aber selbst da, kann er die Zeichen bestimmt wieder alle trainieren und auslesen.

darph
2007-03-13, 19:33:02
Wahrscheinlicher ist, daß es kein Bot, sondern eine Aushilfkraft ist.

WhiteVelvet
2007-03-13, 19:59:52
Oder so :D Also muss ein Anti-Aushilfsjobber-Script herbei ;)

Gast
2007-03-13, 23:50:40
Wie schon geschrieben sind Captchas Mist, Bots sind beim Lösen durchschnittlich erfolgreicher als Menschen, von Sehbehinderten ganz zu schweigen. Allgemein sollte man aufpassen bei den Spam-Gegenmaßnahmen die Seite nicht ebenfalls für bestimmte Besuchergruppen unbenutzbar zu machen.

Was sich für mich bewährt hat, sind einerseits einfache Wissensabfragen wie hier im Forum (zB "Ergänze das folgende Sprichwort: Wer anderen eine Grube gräbt, fällt selbst" oder "Was paßt nicht in die Reihe: Schulranzen, Rucksack, Aktenkoffer, Apfeltasche", etc) und andererseits den Bots das zu nehmen was sie wollen: Links. Alle unregistrierten Nutzer und Nutzer mit weniger als einem Beitrag dürfen keine Beiträge verfassen, in denen sich in irgendeiner Form ein oder mehrere Links befinden. Dann erscheint eine Fehlermeldung und der Autor wird aufgefordert die Links zu entfernen, ansonsten kann der Beitrag nicht abgeschickt werden. Das gilt auch für Links in Signaturen oder zu Bildern. Wer unbedingt etwas verlinken will, muß erst mindestens einen Beitrag ohne Links verfassen. Ggf kann man das noch mit einer Mindestregistrierzeit von einem Tag verknüpfen.
Ich kenne jedenfalls keinen Bot der sich zuerst registriert, etwas harmloses schreibt, am nächsten Tag wiederkommt, sich beim vorhandenen Konto anmeldet um dann alles vollmüllt.

WhiteVelvet
2007-03-14, 08:18:28
Wie schon geschrieben sind Captchas Mist, Bots sind beim Lösen durchschnittlich erfolgreicher als Menschen, von Sehbehinderten ganz zu schweigen. Allgemein sollte man aufpassen bei den Spam-Gegenmaßnahmen die Seite nicht ebenfalls für bestimmte Besuchergruppen unbenutzbar zu machen.

Was sich für mich bewährt hat, sind einerseits einfache Wissensabfragen wie hier im Forum (zB "Ergänze das folgende Sprichwort: Wer anderen eine Grube gräbt, fällt selbst" oder "Was paßt nicht in die Reihe: Schulranzen, Rucksack, Aktenkoffer, Apfeltasche", etc) und andererseits den Bots das zu nehmen was sie wollen: Links. Alle unregistrierten Nutzer und Nutzer mit weniger als einem Beitrag dürfen keine Beiträge verfassen, in denen sich in irgendeiner Form ein oder mehrere Links befinden. Dann erscheint eine Fehlermeldung und der Autor wird aufgefordert die Links zu entfernen, ansonsten kann der Beitrag nicht abgeschickt werden. Das gilt auch für Links in Signaturen oder zu Bildern. Wer unbedingt etwas verlinken will, muß erst mindestens einen Beitrag ohne Links verfassen. Ggf kann man das noch mit einer Mindestregistrierzeit von einem Tag verknüpfen.
Ich kenne jedenfalls keinen Bot der sich zuerst registriert, etwas harmloses schreibt, am nächsten Tag wiederkommt, sich beim vorhandenen Konto anmeldet um dann alles vollmüllt.

Ich hab ja aktuell kein Captcha-Bild benutzt, sondern reinen Text inmitten von anderem Text. Der Bot selbst kann es nicht gelöst haben, sondern ein Mensch, der dem Bot das speziell für mein Gästebuch beigebracht hat.

EDIT: So, hab da jetzt mal ein Wörterrätsel eingebaut, mal sehen, was passiert... spätestens wenn er Bruteforce einsetzt ist es aber wieder hinfällig ;)

Pompos
2007-03-14, 23:38:40
Ich kenne jedenfalls keinen Bot der sich zuerst registriert, etwas harmloses schreibt, am nächsten Tag wiederkommt, sich beim vorhandenen Konto anmeldet um dann alles vollmüllt.
Ich auch noch nicht. Aber sobald mehrere Seiten sowas einsetzen, wirste die ganz sicher kennen lernen. Denn so nen großer Aufwand wird das sicherlich nicht sein, sowas zu implementieren.

Gast
2007-03-15, 18:14:10
Für alle die JS aktiviert haben: Das Formular beim Abschicken zuerst per JS verändern: Einfach das Zielscript verändern, alle Anfragen, die an das ursprünglich eingetragene Script geschickt werden bekommen direkt IP-Timeban, mit Mitteilung an den User (der den Ban aufheben kann, falls es sich um kein Bot handelt).

Für alle die CSS aktiviert haben (mein Favorit): Einfach Zahlen abtippen, die Reihenfolge ist aber nicht die aus dem Quellcode, sondern per CSS dynamisch verschleiert.

Tips helfen nur gegen Spambots, nicht gegen speziell auf die Seite angepassten Methoden. Genau darum verwenden die „Großen“ weiterhin Bilder, denn es gibt nunmal einige die extrem hart sind (z.B. Rapidshare, einfach wegen der großen Vielfalt).