Raketenwilli: Spambots, CSRF token (Captcha)

Beitrag lesen

Der Gag ist, das Token nicht selbst ins Formular zu schreiben sondern dieses durch JS erledigen zu lassen. Die Crux an einem „gemeinsamen Geheimnis“ ist, dieses eben nicht mit der gleichen Post wie die Anforderung zu senden.

Liebe Elsa!

Um zu beweisen, dass Du selbst diesen Brief geschrieben hast, unterschreibe die Antwort mit „Deine liebste Kuh!“

Dein, auf immer dummer Ochse

Wenigstens könntest Du erwarten, dass mittels JS das Token in einer Weise verändert wird, die für Spammer nicht ganz so einfach zu kopieren ist:

Du kannst das hier versuchen:

Im Browser:

  1. Geladen wird die Webseite mit dem Token.
  2. Via JS wird ein Salt geholt (der auch in die Session geschrieben wird)
  3. Salt und Token werden verbunden und gehasht, Das Ergebnis als Token ins Formular geschrieben.

Auf dem Server beim Empfang:

Salt und Token werden aus der Session geholt, gehasht und das Ergebnis mit dem Hash verglichen, den der Browser nunmehr als Token gesendet hat.

Allerdings hier gleich der Hinweis, dass auch dieses einen ersthaft agierenden Angreifer nicht abhalten kann. Es macht die Sache für ihn nur komplizierter. Rot13 wäre ähnlich effektiv...

Eine Frage: Warum sind die Versender überhaupt so hartnäckig? Kann man mit Deinem dollen Ding etwa Mails an Dritte versenden?

Dann gilt die folgende, einfache Regel: Der Benutzer bestimmt entweder den Empfänger ODER (Subjekt oder jeglichen Inhalt) der Nachricht).

Captcha:

  • Hast Du sowas schon versucht?