Salut salut la compagnie :)
Ayant retrouvé un bypasser du captcha d'inscription du site Blablaland dans mes vieux projets, j'ai décidé de le partager, on sait jamais ca peut servir à certains ^^' (j'ai moi-même oublié pourquoi je l'avais fais :o)
D'abord petite explication:
Le captcha est un fichier swf: /site/lib/captcha/captcha.swf
Ce qui donne ca sur le site:
Vu que c'est un swf je l'avais téléchargé et une fois décompilé l'algo de génération du code est donc visible :)
Le swf est appelé avec par exemple un argement comme celui la: flashvars="get_captcha=1J644CV56S5Q5WPR"
(la clé change à chaque rafraichissement de la page)
Et à partir de cette clé l'algo nous génère ces 4 caractères qui nous forment le captcha.
J'ai donc traduis l'algo en visual basic.NET:
Il vous suffit d'appeler la fonction avec la clé récupérable sur la page et il vous donnera le code du captcha, cela permet entre autre des bots d'inscription.
Je n'ai pas eu à update les clés contenu dans la variable pkeys donc je suppose qu'ils n'ont pas prévu de les changer, mais si toute fois ils le font, vous pouvez me demander d'update mon code ou bien vous pouvez les récupérer vous même en décompilant le swf :)
Leur algo n'est pas très difficile à comprendre mais si vous avez besoin d'explications n'hésitez pas ;)
Sur ce, je vous souhaite une bonne journée/soirée/nuit/etc :D
Ayant retrouvé un bypasser du captcha d'inscription du site Blablaland dans mes vieux projets, j'ai décidé de le partager, on sait jamais ca peut servir à certains ^^' (j'ai moi-même oublié pourquoi je l'avais fais :o)
D'abord petite explication:
Le captcha est un fichier swf: /site/lib/captcha/captcha.swf
Ce qui donne ca sur le site:
Vu que c'est un swf je l'avais téléchargé et une fois décompilé l'algo de génération du code est donc visible :)
Le swf est appelé avec par exemple un argement comme celui la: flashvars="get_captcha=1J644CV56S5Q5WPR"
(la clé change à chaque rafraichissement de la page)
Et à partir de cette clé l'algo nous génère ces 4 caractères qui nous forment le captcha.
J'ai donc traduis l'algo en visual basic.NET:
Code:
[COLOR=Blue]Public Function[/COLOR] BlablalandCaptcha([COLOR=Blue]Byval[/COLOR] CaptchaKey [COLOR=Blue]As String[/COLOR]) [COLOR=Blue]As String[/COLOR]
[COLOR=Blue]Dim[/COLOR] pkeys([COLOR=Red]9[/COLOR]) [COLOR=Blue]As String[/COLOR]
pkeys.SetValue([COLOR=Gray]"9I6KL1CNDE47T8MWY5VPQUA23JXRSBFGHZ"[/COLOR], [COLOR=Red]0[/COLOR])
pkeys.SetValue([COLOR=Gray]"BJX7Y5ZG8MWFDE4HTCL9IA23RS1NQUKVP6"[/COLOR], [COLOR=Red]1[/COLOR])
pkeys.SetValue([COLOR=Gray]"L7Y4H23QCA5MIUKVS1JXRBFGZWNP69T8DE"[/COLOR], [COLOR=Red]2[/COLOR])
pkeys.SetValue([COLOR=Gray]"BKVS1J69TFGUZWNP5MIADEL7YX84H23QCR"[/COLOR], [COLOR=Red]3[/COLOR])
pkeys.SetValue([COLOR=Gray]"1J69TFGUZ5MIAD3QCVWPRBEL7YX84H2KNS"[/COLOR], [COLOR=Red]4[/COLOR])
pkeys.SetValue([COLOR=Gray]"HT1NQUKVP6BJX7Y5ZG8MWFDCL9IA23RSE4"[/COLOR], [COLOR=Red]5[/COLOR])
pkeys.SetValue([COLOR=Gray]"DEY4H23QCA5MIUKL7XRBFGZWNP69T8VS1J"[/COLOR], [COLOR=Red]6[/COLOR])
pkeys.SetValue([COLOR=Gray]"1NQBJXIA23HT7WFDCSE4KVPY5ZL9UG8M6R"[/COLOR], [COLOR=Red]7[/COLOR])
pkeys.SetValue([COLOR=Gray]"V23JXRSBFKL1CNDE47PQUGHZ9I6AT8MWY5"[/COLOR], [COLOR=Red]8[/COLOR])
pkeys.SetValue([COLOR=Gray]"L1CZ9WYT25VPQUDE46K8HBAIM73JXRSNFG"[/COLOR], [COLOR=Red]9[/COLOR])
[COLOR=Blue]Dim[/COLOR] alpha [COLOR=Blue]As String[/COLOR] = [COLOR=Gray]"ABCDEFGHIJKLMNPQRSTUVWXYZ123456789"[/COLOR]
[COLOR=Blue]Dim[/COLOR] str1 [COLOR=Blue]As String[/COLOR] = CaptchaKey.Substring([COLOR=Red]3[/COLOR], [COLOR=Red]1[/COLOR])
[COLOR=Blue]Dim[/COLOR] str2 [COLOR=Blue]As String[/COLOR] = pkeys(str1)
[COLOR=Blue]Dim[/COLOR] str3 [COLOR=Blue]As String[/COLOR] = CaptchaKey.Substring([COLOR=Red]4[/COLOR], [COLOR=Red]1[/COLOR])
[COLOR=Blue]Dim[/COLOR] str4 [COLOR=Blue]As String[/COLOR] = CaptchaKey.Substring([COLOR=Red]5[/COLOR], str3 * [COLOR=Red]2[/COLOR])
[COLOR=Blue]Dim[/COLOR] str5 [COLOR=Blue]As String[/COLOR] = [COLOR=Gray]""[/COLOR]
[COLOR=Blue]Dim[/COLOR] int1 [COLOR=Blue]As Integer[/COLOR] = [COLOR=Red]0[/COLOR]
[COLOR=Blue]While[/COLOR] int1 < str3
[COLOR=Blue]Dim[/COLOR] str6 [COLOR=Blue]As String[/COLOR] = CaptchaKey.Substring([COLOR=Red]5[/COLOR] + int1 * [COLOR=Red]2[/COLOR], [COLOR=Red]1[/COLOR])
[COLOR=Blue]Dim[/COLOR] str7 [COLOR=Blue]As String[/COLOR] = str2.IndexOf(str6)
[COLOR=Blue]Dim[/COLOR] str8 [COLOR=Blue]As String[/COLOR] = alpha.Substring(str7, [COLOR=Red]1[/COLOR])
str5 = str5 + str8
int1 = int1 + [COLOR=Red]1[/COLOR]
[COLOR=Blue]End While[/COLOR]
[COLOR=Blue]Return[/COLOR] str5
[COLOR=Blue]End Function[/COLOR]
Code:
[COLOR=Blue]Dim[/COLOR] CaptchaCode [COLOR=Blue]As String[/COLOR] = BlablalandCaptcha([COLOR=Gray]"1J644CV56S5Q5WPR"[/COLOR])
PHP:
Output:
Contenu de CaptchaCode: RJqQ
Leur algo n'est pas très difficile à comprendre mais si vous avez besoin d'explications n'hésitez pas ;)
Sur ce, je vous souhaite une bonne journée/soirée/nuit/etc :D
Last edited: