Seite 2 von 2

Verfasst: 02.08.2008 14:01
von hardfalcon
In seiner aktuellen Form dürfte das Holzstäbchen-Captcha sogar wesentlich leichter zu knacken sein als ein gutes alphanumerisches Captcha. Anstatt 36 mögliche Zeichen (die im Optimalfall auch noch verzerrt und mit eher geringem Kontrast dargestellt werden), reicht es bei deinem Captcha aus, nen Kantenerkennungs-Algorithmus drüberzujagen, und dann nen 2. Algorithmus nachzählen zu lassen, wieviele Kanten mit unterschiedlicher Neigung es gibt.

Was die Idee mit den JavaScript-Captchas angeht: Interessante Idee, aber du solltest bedenken, dass immer mehr Benutzer aus Sicherheitsgründen abschalten (z.B. mit NoScript).

Ich hätte ne nen Alternativ-Vorschlag: Ein kleines Archiv mit Bildern, die du allesamt mit Metatags versiehst, und jedes mal über ein PHP-Script leicht verändert auslieferst (z.B. leicht verzerrt, mit leicht geändertem Gamma-Wert, etc...). Diese Bilder versiehst du alle mit Meta-Tags, und lieferst dann als Captcha ein großes Bild, in dem mehrere kleine Bilder, die allesamt (bis auf eins) ein Meta-Tag gemeinsam haben. Dann numerierst du die Bilder noch zufällig durch, und blendest die Nummer jedes Bildes leicht verzerrt über das jeweilige Unterbild ein. Der Benutzer muss dann die Nummer des "unpassenden" Bildes angeben.

Verfasst: 02.08.2008 14:57
von PMTheQuick
Hier nen Captcha von MS, welches noch Spass macht:

http://research.microsoft.com/asirra/

Einfach alle Katzen auswählen! Das ganze sind richtige Bilder von petfinder, wobei bei petfinder nur neue/populäre oder sowas angezeigt werden. Bruteforce wäre also schwierig ^^

Gruss
PMTheQuick ;)

Verfasst: 02.08.2008 18:26
von Xaby
xaby hat geschrieben:Du kannst doch die IP-Adresse für eine bestimmte Zeit sperren.
So dass man nur alle 4 Sekunden einen Versuch zur Entschlüsselung starten kann.

Das läuft allerdings über PHP.
Volker hat geschrieben: Du unterschätzt die "Hacker"

Wenn ich IP-Adressen sperre, dann lassen die eben einige Rechner parallel den Job machen. Wenn das jeder alle 4 Sekunden macht ist das kein Thema. Desshalb will ich gezielt Rechenleistung fordern. Eine einfache Zeitschleife in JavaScript würde ich innerhalb von einer Minute umbauen und damit aushebeln. Das ist völlig wirkungslos.
Die IP-Adresse zu wechseln dauert seine Zeit.
Du könntest ja nach einer Einwahl die IP-Adresse für ein paar Minuten sperren. Bei Fehlgeschlagenem Login für ein paar Sekunden oder bei mehreren fehlgeschlagenen Versuchen für ebenfalls Minuten.

Die Zeitschleifen in JavaScript einzubauen wird wenig Sinn haben, es sei denn, du hast eine Möglichkeit den Code zu vergleichen.
Also den, den du generiert hast und den, der vom Browser ausgeführt wird.

Du kannst die Zeitschleifen aber auch über PHP machen. Dass du mit jedem Client nur im Sekundentakt kommunizierst.

Wenn du auf einem durchschnittlichen Computer für deinen Algorithmus 4 Sekunden benötigst. ( gehen wir von einem Core Duo mit 2 GHz aus und 2 GB RAM ) dann wird das sicherlich nicht den Prozessor auslasten, denn der User will ja auch noch andere Dinge tun.

Wenn der Haker, der unbedingt deine Seite haben will, einen 2 Prozessor 4 Kerne Rechner mit pro Kern 3 GHz hat und 8 GB RAM und davon vielleicht auch noch zwei bis vier Rechner, und er die priorität für deine Webseite auf maximum hat oder einen Browser speziell für deine Webseite schreibt, dann wird es ebenfalls nur sekunden Bruchteile benötigen.

Wenn also eine Zeitverzögerung irgendwie zu Stande kommen soll, sollte sie auf Seiten des Servers realisiert werden.

:freak: