Spam trotz Captcha

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Spam trotz Captcha

    Guten Abend,

    ich habe auf einer Webpage ein Kontaktformular (und ein Gästebuch) mit einem Captcha versehen. Die Funktionsweise ist einfach: Ich zeige drei Bilder, auf denen Männer oder Frauen zu sehen sind, entweder 2 Frauen und ein Mann oder anders herum. Über den Bildern stehen Namen, zwei davon eindeutig geschlechtsspezifisch, einer geschlechtsneutral. Unter den Bildern steht eine Frage nach dem Namen der Einzelperson (entweder Mann oder Frau). Für einen Menschen ist es recht einfach, die richtige Antwort zu finden. Ich dachte für einen Algorithmus nicht. Aber da hab ich mich wohl geirrt. Ich empfange weiterhin Spam...

    kurz zum Technischen: Das Bild wird in einer PHP-Datei erstellt. Ich hole die Namen aus der DB und speichere die richtige Antwort in einer Session-Variable. Nachdem der Nutzer die Antwort eingegeben hat, vergleiche ich diese mit dem Session-Wert. Ist alles ok, schick ich die Mail ab.

    Anschauen kann man sich das Captcha hier: weitgeist.de/index.php?p=kontakt

    Könnt ihr mir vielleicht sagen, welchen Fehler ich gemacht habe bei der Implementierung?

    danke im voraus
  • Naja, ich könnte mir vorstellen, dass das captcha per BruteForce sehr leicht zu umgehen ist. Es ist ja so: Es gibt jeweils nur 3 Möglichkeiten was die Antwort ist, und diese sind sehr leicht auszulesen (sie stehen ja einfach als plaintext da). D.h. wenn so ein spam-skript einfach nur rät hat es ne 1/3 Chance zu treffen und das is ne sehr gut Ausbeute. Ich würde einfach mal mitloggen wieviele falsche Versuche und wieviele richtige Versuche es gibt. Geht das Verhältnis in Richtugn 2:1 falsch, ist es wohl einfahc nur blindes ausprobieren.

    Edit: ok das mit dem plaintext nehm ich zurück, sollte aber trotzdem einfach auszulesen sein ;)
  • Also technisch gesehen ist das Captcha ziemlich einfach zu knacken. Man muss das Bild in die drei Einzelbilder zerlegen. Da alle drei immer gleich groß sind und einen Rahmen haben ist das kein Problem. Dann nimmt man nur die Shiloutten (die sind ja auch immer an der selben Stelle - damit auch kein Problem) und legt man immer zwei übereinander. Wenn nach der Addition das Bild genauso ist wie vorher waren die Shilouetten gleich. Aufgrund der Funktionsweise deines Captchas werden zwei gleich sein, eins nicht. Da du sehr gut lesbaren Klartext da stehen hast, braucht man nur noch eine Mittelgute OCR und man hat den Text ohne sich überhaupt mit den Namen oder dem Geschlecht beschäftigen zu müssem.

    Was ich mir nicht vorstellen kann, ist dass es sich lohnen soll für jemanden dieses Captcha (sofern nur du es verwendest) zu knacken, soviele Hits hat die Seite doch bestimmt nicht. Bekommst du E-Mail spam oder auch Gästebuch?

    EDIT: Das ist wohl die lange Form von dem was BennyBunny wohl meinte
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • Das Skript habe ich selbst geschrieben. So wie ich mir das dachte. Das ganze ist nach einem Vorbild von 3dl.am, richtig. Ich hatte es dort einmal gesehen und dachte, es wäre eine recht gute Idee.
    Ihr habt natürlich Recht mit den drei Bildern. Es würde wohl schon helfen, wenn ich mehrere weibliche und männliche Bilder nehmen würde, die ich dann zufällig den Namen zuordne. Ebenso werde ich noch mehr Namen in die Datenbank packen. Das erhöht die Anzahl der Kombinationen.
    Ich weiß allerdings nicht ob das reicht. Gibt es denn noch mehr Ideen, das Captcha zu verbessern?

    Die Seite hat nicht viele Klicks, im Gegenteil. Dennoch will ich sie frei von Spam halten. Ich bekomme den Spam sowohl im Gästebuch (mit Captcha bisher nicht) als auch per Kontaktformular.
  • Pragmatisch gesehen.... wie funktionieren Bots? Deaktiviere mal deine Cookies ;)

    Dann ist $_SESSION leer und $_POST leer, und ich kann problemlos E-Mails verschicken.
    Codingfehler :P

    Manche Fehler muss man einfach machen, damit man sie bedenkt ;)
    Weiterer Hinweis der bei solchen Captcha Anfragen die auch oft vergessen wird:
    Hänge eine Session ID (bei deaktivierten Cookies) an das Bild an. Ich glaub das ging in etwa so: <img src="captcha.php?<?=SID?>">

    UPDATE: Mehr Captcha Code auch in unserem Wiki: [wiki]Captcha Tutorial[/wiki]