Jump to content

Captcha ASCII-Art


Recommended Posts

Hi bros !
Aujourd'hui, nous allons casser du robot spammeur B).

J'avais déjà parlé avec Soulalex de la nécessité de changer le Captcha pour une solution un peu plus exotique sur le forum,

et il me semble que la situation est plutôt critique en ce moment, je me permet donc de publier le script que j'utilise sur mon site.

(tout le monde peut en profiter comme ça)

 

Au départ, j'utilisais securimage, puis des bots on commencé à savoir le déchiffrer.

En cherchant une solution je me suis dit "pourquoi ne pas utiliser l'ASCII-art ?" et comme c'était une idée extrêmement badass je l'ai fait ^_^.

 

L'objectif est de passer inaperçu en utilisant un dessin en ascii-art, généré à partir des polices de caractère figlet et d'un script php glané sur internet.

Pour produire et vérifier le captcha, j'ai préféré conserver securimage, en remplaçant toute la partie audio-visuelle par l'utilisation du script figlet.

Ainsi, securimage envoie une chaine de caractères au navigateur, qui formatée correctement laisse apparaitre le texte en ASCII-Art.

 

Ce système est bien sur faillible, et on pourrait facilement en concevoir un plus fiable en ajoutant du "bruit" entre les lettres

et en rendant aléatoires les caractères utilisés dans la figure ASCII (si quelqu'un est motivé qu'il n'hésite pas :ph34r:), mais pour l'instant

le combo est suffisamment peu commun pour éviter les bots, qui se déchaînent plutôt sur des images.

 

A moins d'être la cible spécifique d'un imbécile qui aurait pour seul désir de vous embêter vous n'avez rien à craindre.
En tous cas depuis que je l'ai mis en application plus un seul bot ne m'a écrit :D.

 

post-265-0-95677300-1436457044_thumb.png

Vous pouvez le télécharger ici, j'ai retiré toutes les fonctions de sécurité ajoutées à mon formulaire pour simplifier la démo, et le captcha est par défaut sensible à la casse.

Pour modifier la police utilisée, placez le fichier .flf dans securimage/fonts puis éditez la 1e fonction de securimage/Figlet.php pour changer 'standard' par le nom de votre police :

$defaultFont = 'standard'

Bien sur, vous pouvez aussi éditer securimage/securimage.php pour changer les paramètres du texte et de la vérification (générer des mots, changer la longueur etc.)

J'ai inclu un peu de css dans la démo, n'oubliez pas si vous décidez de tout réécrire de conserver une police monospace (là j'ai utilisé saxmono),

et de bien mettre la captcha dans une balise <pre>, car le texte est préformatté avec des espaces (on parle d'ASCII Art tout de même :P).

Le reste est assez évident dans la démo, j'ai raccourci le code autant que j'ai pu donc l'adaptation devrait être rapide.

 

Enjoy !

Edited by cylgom
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...