powie.de Tech Forum

PHP und Webdesign => Security => Thema gestartet von: k00ni am 06. Dezember 2007, 13:51:01

Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: k00ni am 06. Dezember 2007, 13:51:01
Wie ich vor einigen Tagen in diesem Blog-Post gelesen hatte, scheint es bei einem Großteil der Captchas nun möglich zu sein, diese zu umgehen. Auch das hier im pSys eingesetzte fällt darunter.
Ich habe mir gerade überlegt, wie man dass effektiver gestalten könnte. Das gute ist, dass es noch keine KI gibt, die die denken kann. Deshalb muss man die Bots mit Abfragen konfrontieren, die sie zwar im schlimmsten Falle auswerten, aber nicht beantworten können. Dies wären Dinge wie: Wieviel Elefanten siehst du? Gibt es hier einen Vogel auf dem Bild? usw. usf.
Wenn nun die Abfrage noch quer Beet alles mögliche abfragt, also auch Dinge wie Buchstaben, Muster oder Bilder mit viel Inhalt (Gibt es hier ein Bild mit Eifelturm), dann wäre es ja für eine Maschine nahezu unknackbar.
Implementiert wäre das Ganze recht einfach. Man nutzt den bisherigen Algorithmus. Nur baut man da keinen Text mit Buchstaben und Zahlen ein, sondern man zeigt halt verschiedene Bilder in einem neuen Bild an. Da hier der Platz begrenzt ist, müssen diese kleiner und gut sichtbar sein. Im Hintergrund kann man dann im Skript die verschiedenen Fälle hart implementieren oder ggf. auch zufällig mehrere einzelne Fälle abfragen. Oder man setzt eine Datenbank in den Hintergrund, wobei das schon fast wieder zu umfangreich wäre.
Was haltet ihr von der Idee?
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: Powie am 06. Dezember 2007, 14:17:03
coool!
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: am 06. Dezember 2007, 14:29:54
Wie ich vor einigen Tagen in diesem Blog-Post gelesen hatte, scheint es bei einem Großteil der Captchas nun möglich zu sein, diese zu umgehen. Auch das hier im pSys eingesetzte fällt darunter.[/quote]
Tell news.
Ich habe mir gerade überlegt, wie man dass effektiver gestalten könnte. Das gute ist, dass es noch keine KI gibt, die die denken kann.[/quote]
Prinzipiell ist dies natürlich korrekt; die Einschränkung auf KI spiegelt nur leider die Realität nicht wieder. In einigen Ländern ist Arbeitskraft sehr billig. Außerdem gibt es schon seit Verbreitung von CAPTCHA Websites, die User zum Lösen von fremden CAPTCHA missbrauchen.
Was haltet ihr von der Idee?[/quote]
Ich habe vor längerer Zeit mal an einer Studie teilgenommen, die ein ähnliches Verfahren als Zugangsregelung für Banken untersucht hat. War, soweit ich mich erinnern kann, recht erfolgreich. Live habe ich das allerdings noch nirgends gesehen.
Wenn Du sicherstellen kannst, dass die Bilder ausreichend gute Qualität haben und die Fragen nicht zu kompliziert sind, ist dies eine gute Idee. Achte aber darauf, dass ca. 4-6% aller Deutschen von Dyskalkulie oder Legasthenie betroffen sind.
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: k00ni am 12. Dezember 2007, 17:26:22
Ich habe gerade mal etwas herumprobiert. Folgender Code erzeugt mir ein Bild. Nun sollte eigentlich ein weiteres Bild daraufgelegt werden, nur irgendwie macht er es nicht. Das Hintergrundbild wird sauber angezeigt, nur leider ohne das zweite Bild.
 

_S_background);     
// Bild erzeugen
$pcap_im = ImageCreateTrueColor($this->_I_width, $this->_I_heigth);
imagecopyresampled($pcap_im, $bg, 0,0,0,0, $this->_I_width, $this->_I_heigth, ImageSX($bg),ImageSY($bg));
$get_image = ImagePNG ($pcap_im);
$show_image = ImageCopy ($get_image, ImageCreateFromPNG($this->_S_picture_folder. \\\'/elefant_1.jpg\\\'), 100, 100, 10, 10, 150, 100);
// Bild auf Interlace = 1 stellen. (Lädt das Bild streifenweise und nicht in einem Zug)
imageinterlace($pcap_im,false);
// Bild ausgeben        
$pcap_image = \\\'image.png\\\';
// sending image
header(\\\'Content-type: image/png\\\');
$pcap_image($pcap_im);
?>

 
 
Bei PHP in Verbindung mit Bildern bin ich ne Niete. Jemand eine Idee?
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: am 12. Dezember 2007, 21:57:45
Da sind Syntax-Fehler drin. Wie kommst Du zu $this?
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: k00ni am 12. Dezember 2007, 22:04:10
Weil ich das in einer Klasse drin habe. Bevor du raten musst, hier die Klasse:
Das Ding wird wie beim Captcha im pSys über ein img-Tag eingebunden.
[edit]UPDATE: Da der Code hier total zerhackt wurde, hab ich die Datei mal angehängt.[/edit]
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: am 14. Dezember 2007, 00:02:11
Also, ich habe das mal mit der GD-Lib (*) getestet und konnte innerhalb des gegebenen Zeitrahmens kein ordentliches Ergebnis bringen. Ich wollte zwei transparente PNG in ein neues, transpartes PNG mergen - anscheinend hat die GD-Lib bei solchen Aktionen Probleme.
Ein Merge mit imagick (**) war in kurzer Zeit auf der Konsole mit sehr befriedigenden Ergebnissen erledigt.
* Ich mochte die GD-Lib noch nie wirklich - schon als Perl-Programmierer habe ich die Nutzung der GD-Lib immer vermieden. Ich habe keinen guten Eindruck von der GD-Lib.
** Während ich imagick schon lange schätze. Es gibt auch ein entsprechendes PECL-Modul.
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: k00ni am 14. Dezember 2007, 06:33:44
Während ich imagick schon lange schätze. Es gibt auch ein entsprechendes PECL-Modul.[/quote]
Ist das ein Modul, was auch auf (vielen) Hostern installiert ist oder muss dass in den meisten Fällen nachinstalliert werden? Ich frage mich was daran so schwer sein soll und warum dass GD-Lib scheibar nicht packt.
Ich wollte zwei transparente PNG in ein neues, transpartes PNG mergen - anscheinend hat die GD-Lib bei solchen Aktionen Probleme.[/quote]
Dies bräuchte ich eigentlich nicht. Mir würde es reichen wenn man 3 - 5 Bilder übereinander legen kann, nur halt etwas versetzt. Mal schauen, ob ich da mal etwas Code im Netz finde.
In Kürze werden wir da etwas präsentieren... Ein wenig Geduld.[/quote]
Na, wenn ihr mir die Arbeit abnehmt, dass wäre schön! Könntet ihr auch noch meine Übungserien in MuP machen? :ugly:
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: am 14. Dezember 2007, 13:10:17
Barrierefreiheit sollte nicht vergessen werden.
Text Captcha\'s Beispiel: http://www.smiffysplace.com/textcaptcha_example.php
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: am 14. Dezember 2007, 17:52:14
Ist das ein Modul, was auch auf (vielen) Hostern installiert ist oder muss dass in den meisten Fällen nachinstalliert werden?[/quote]
Das kann ich nicht abschätzen. Das Modul ist vermutlich nicht so weit verbreitet; allerdings kann man imagemagick auch über die Shell ausführen, also über php:exec(), php:system() und Co.
Ich frage mich was daran so schwer sein soll und warum dass GD-Lib scheibar nicht packt.[/quote]
Keine Ahnung, was genau das Problem ist.
Dies bräuchte ich eigentlich nicht. Mir würde es reichen wenn man 3 - 5 Bilder übereinander legen kann, nur halt etwas versetzt. Mal schauen, ob ich da mal etwas Code im Netz finde.[/quote]
Naja, aber die Bilder sollen doch zusammengefügt werden. Wenn Du drei Bilder übereinander legst, wird nur das letzte Bild angezeigt. Oder willst Du die Bilder composen, also bestimmte Teile ausschneiden und nebeneinander abbilden?
Könntet ihr auch noch meine Übungserien in MuP machen?[/quote]
Gerne. Du darfst dann für mich öffentliche Finanzen und internationale Rechnungslegung machen.
Titel: CAPTCHAs mittels \"intelligenter\" Abfrage
Beitrag von: k00ni am 14. Dezember 2007, 17:56:02
Naja, aber die Bilder sollen doch zusammengefügt werden. Wenn Du drei Bilder übereinander legst, wird nur das letzte Bild angezeigt. Oder willst Du die Bilder composen, also bestimmte Teile ausschneiden und nebeneinander abbilden?[/quote]
Eigentlich nur 3 - 5 Bilder nebeneinander. Vielleicht an ein paar Stellen überdeckt, aber ansonsten nebeneinander. Direkt übereinander bringt mir ja nichts, da man dass unterste Bild ja nicht sieht. Ich habe bisher keine Zeit gefunden, hier weiterzuarbeiten.
Gerne. Du darfst dann für mich öffentliche Finanzen und internationale Rechnungslegung machen.[/quote]
Mit dem \"ihr\", warst nicht du angesprochen. /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" />