{"id":1591,"date":"2014-05-21T13:00:36","date_gmt":"2014-05-21T11:00:36","guid":{"rendered":"http:\/\/www.unicoda.com\/?p=1591"},"modified":"2014-05-19T14:29:57","modified_gmt":"2014-05-19T12:29:57","slug":"c4ptch","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=1591","title":{"rendered":"C4ptch@"},"content":{"rendered":"<p>De temps \u00e0 autre, il m&rsquo;arrive de regarder un peu sous le capot des sites web que je visite, de plonger dans le code pour m&rsquo;int\u00e9resser \u00e0 l&rsquo;un ou l&rsquo;autre composant du site. Derni\u00e8rement, j&rsquo;ai donc \u00e9t\u00e9 attir\u00e9 par la partie captcha de l&rsquo;un d&rsquo;eux.<\/p>\n<p><a href=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/05\/captcha.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1596\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/05\/captcha.jpg\" alt=\"captcha\" width=\"143\" height=\"41\" \/><\/a>D\u00e8s le premier coup d\u2019\u0153il, je pressens une faille. Quelques actualisations de page plus tard, ma premi\u00e8re impression se confirme, le nom donn\u00e9 aux images repr\u00e9sentant les diff\u00e9rents chiffres du captcha ne changent pas. Il suffit donc d&rsquo;\u00e9tablir la correspondance entre nom d&rsquo;image et chiffre et nous devenons capable de d\u00e9terminer le captcha automatiquement.<\/p>\n<p>En regardant d&rsquo;un peu plus pr\u00e8s l&rsquo;identifiant de chaque image, je m&rsquo;aper\u00e7ois \u00e9galement que celui-ci fait 32 caract\u00e8res de long. R\u00e9sumons: 32 caract\u00e8res, lettres minuscules de a \u00e0 z et chiffres de 0 \u00e0 9. Qui a dit md5? Un petit test pour s&rsquo;en convaincre. L&rsquo;image correspondant au 0 a pour identifiant cfcd208495d565ef66e7dff9f98764da, ce qui correspond bien au hash md5 de 0.<\/p>\n<p>Cette constatation m&rsquo;a donc fait r\u00e9fl\u00e9chir \u00e0 la question suivante: si il est possible de casser un captcha en apprenant la r\u00e8gle sp\u00e9cifique \u00e0 un programme, ce m\u00e9canisme de captcha est-il toujours valable, au sens o\u00f9 il a fallu une intervention humaine pour \u00e9crire la r\u00e8gle?<\/p>\n<p>Revenons donc sur la d\u00e9finition d&rsquo;un captcha par Wikip\u00e9dia: \u00ab A <b>CAPTCHA<\/b> (an acronym for \u00ab\u00a0<b>C<\/b>ompletely <b>A<\/b>utomated <b>P<\/b>ublic <b>T<\/b>uring test to tell <b>C<\/b>omputers and <b>H<\/b>umans <b>A<\/b>part\u00a0\u00bb) is a type of challenge-response test used in computing to determine whether or not the user is human. \u00bb. On y apprend qu&rsquo;un captcha doit permettre de d\u00e9terminer si un utilisateur est humain ou non. Donc, le m\u00e9canisme de captcha \u00e9tudi\u00e9 n&rsquo;est pas valable, puisqu&rsquo;un programme relativement simple est capable de r\u00e9soudre le d\u00e9fi. Bien entendu, il aura fallu qu&rsquo;un humain \u00e9crive la fa\u00e7on de r\u00e9soudre ce captcha en particulier (,mais apr\u00e8s tout, il y a un humain derri\u00e8re chaque ligne de code). De plus, on peut tr\u00e8s bien \u00e9crire un programme capable de reconna\u00eetre lorsqu&rsquo;un site utilise ce type de captcha et ainsi s&rsquo;affranchir d&rsquo;une intervention humaine pour chaque site utilisant ce m\u00e9canisme de captcha.<\/p>\n<p>Pour terminer, j&rsquo;ai continu\u00e9 mes recherches et avec les bons mot-cl\u00e9s, j&rsquo;ai donc constat\u00e9 que ce type de captcha utilisant un hash md5 comme identifiant d&rsquo;image se retrouve sur quelques sites mais ne semble pas \u00eatre trop r\u00e9pandu. On peut n\u00e9anmoins d\u00e9plorer que la page sur laquelle j&rsquo;ai d\u00e9couvert ce captcha soit celle de contact d&rsquo;une commune fran\u00e7aise de taille moyenne.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De temps \u00e0 autre, il m&rsquo;arrive de regarder un peu sous le capot des sites web que je visite, de plonger dans le code pour m&rsquo;int\u00e9resser \u00e0 l&rsquo;un ou l&rsquo;autre composant du site. Derni\u00e8rement, j&rsquo;ai donc \u00e9t\u00e9 attir\u00e9 par la partie captcha de l&rsquo;un d&rsquo;eux. D\u00e8s le premier coup d\u2019\u0153il, je pressens une faille. Quelques &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=1591\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;C4ptch@&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,40],"tags":[179,180],"class_list":["post-1591","post","type-post","status-publish","format-standard","hentry","category-code","category-info","tag-captcha","tag-md5"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1591"}],"version-history":[{"count":6,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1591\/revisions"}],"predecessor-version":[{"id":1600,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1591\/revisions\/1600"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}