Wie erstelle ich einen "Nuclear" Honeypot um Spammer zu fangen

9

Mein aktueller Honigtopf auf meinem Anmeldeformular ist ein Eintrag für eine Telefonnummer, die mit position: fixed; außerhalb des Bildschirms angezeigt wird.

Es hat einen Standard-Formfüller ausgetrickst, funktioniert aber nicht so gut wie ich. Außerdem reagierten die Spambots sofort auf Änderungen in der Form, was bedeutet, dass dies automatisch ist, was kann ich tun.

Hinweis: Ich hasse Captchs, seit sie ihre Probleme lösen meine Probleme , die nie gut sind.

    
GiantCowFilms 19.10.2014, 16:32
quelle

1 Antwort

18

Baue einen wirklich schlauen Honigtopf

Das mag offensichtlich erscheinen, aber hier sind ein paar Tricks (Details später):

  1. Denken Sie wie ein Spam-Bot
  2. Angenommen, sie können wissen, was auf dem Bildschirm oder hinter anderen Elementen steht
  3. haben mehrere Fallen.
    • Zeitfalle
    • Honigtopf

1. Denke wie ein Spam-Bot:

Beginne deine Seite wie ein Spam-Bot, Du kannst sogar deine eigene schreiben, die Zeit hat, aber ist ziemlich lustig :). Die meisten Spam-Bots durchsuchen das Markup nach einem <form> -Element. Dann werden sie Ihre Eingaben betrachten und sie passend ausfüllen, was der Haken ist: Wie wissen sie, was sie ausfüllen sollen? Sie werden wahrscheinlich die ID, die Klasse, den Platzhalter und das Label sehen. Das bringt uns zu unserer ersten Methode

Methode # 1:

Miss Eingaben in Ihrem Formularcode . Basily Ihre Benutzername-Eingabe sollte die ID von #Form_Email boom haben! Spam-Bot füllt Formular falsch aus. Verstecken Sie auch Ihre Eingabe-Labels und geben Sie sie falsch ein. Verwenden Sie stattdessen divs. *

Methode # 2 beginnt hier

Sie haben wahrscheinlich bemerkt, dass wenn Sie versteckte Sachen einfach ignorieren, basierend auf dem Standort, was davor steht, und sogar den guten alten display: none; , visibility: hidden; , opacity: 0; oder type='hidden' . Das gibt uns eine mächtige Waffe. Ich habe das zufällig entdeckt, als ich eine Zeitfalle getestet habe. Ich habe einen Grundfüller verwendet, um das Formular zu füllen. Auf meiner Website (ich spreche nicht über GiantCowFilms.com) befindet sich das Registrierungsformular in einem Dialogfeld, das geöffnet wird, wenn ein Benutzer auf eine Registrierungsschaltfläche klickt. Standardmäßig ist versteckt . Das gab mir eine Idee für

Methode # 2

Standard: form ist ausgeblendet. Grundsätzlich ist Ihr Formular beim Laden der Seite versteckt, aber es wird durch eine mausbasierte Aktion entdeckt. Ich glaube nicht, dass Bots mouses haben ). Wenn Sie möchten, dass Ihr Formular beim Laden der Seite sichtbar wird, fügen Sie einen identischen Täuschungskörper hinzu, der über dem echten im Markup liegt. Wenn der Bot diesen füllt und ihn abgibt, blockieren Sie den Ip für ein paar Minuten. ** Für wirklich Benutzer, einfach wenn die Maus über die Lockvogelform schwebt, schalte sie um.

2. Angenommen, sie wissen, wie Ihre Seite aussieht

Angenommen, das Verstecken von Honeypot mit CSS ist perfekt, ist ein schwerer Fehler. Sie sind viele super intelligente Bildschirmleser wie JAWS, die für das Spaming zweckentfremdet werden könnten. Deshalb haben Sie mehrere Verteidigungslinien.

3. Habe mehrere Fallen

  • Zeitfallen: Zurück zu denken wie ein Bot, würdest du auf einer Site warten anstatt andere anzugreifen? Methode 3: Erstellen Sie eine Zeitfalle. Am besten drucken Sie eine Zeit in einer versteckten Eingabe, wenn die Seite geladen wird. Wenn Sie das Formular abschicken, erfahren Sie, wie lange es gedauert hat. Füllen Sie das Formular so schnell wie Sie können. Das sollte die Mindestmenge sein, die Sie für Ihre Zeit benötigen. Hinweis: verschlüsseln Ihren Zeitstempel so, dass Bots ihn nicht ändern können.

    Wenn du wirklich schick werden willst, messe die WPM des Bot-Tippens. Dies geschieht im Stack-Austausch (Kopieren und Einfügen, dann Senden und Fragen / Antworten). Auch wenn die Tipprate sehr konsistent ist, ist das eine rote Flagge.

  • Honeypots (Methode # 4): Verwenden Sie alle oben genannten gleichzeitig für beste Ergebnisse. Achten Sie darauf, sowohl dumme Bots als auch intelligente Bots auszutricksen (nehmen Sie nicht an, dass der Bot sich ständig bemüht.).

Um uns zu spammen, müssen Bots Cursor haben, die Seite rendern, warten und mit einer variablen Realist-Geschwindigkeit tippen. Wenn sie einen Bot so machen, dann denke ich, es wird Captcha Zeit sein: (.

* Leute, die Screenreader benutzen, werden durch diese Abwehrmechanismen ausgelöst oder verwirrt, und je nachdem, in welchem ​​Land Sie sind, könnten Sie Schwierigkeiten bekommen, blinde bis halbblinde Menschen zu diskriminieren. Wenn ein Benutzer den Bot-Test auslöst, sollten Sie ihn daher zu einem nicht geladenen Formular mit einem behindertenfreundlichen Captcha wie reCaptcha bringen.

** Leute teilen häufig Ips und Sie können gültige Benutzer vertreiben.

P.S. Verwenden Sie einfache Honigtöpfe, die Sie bereits haben. Einige Bots sind einfach zu dumm, um von dem, was wir hier haben, ausgetrickst zu werden.

    
GiantCowFilms 19.10.2014, 16:32
quelle

Tags und Links