谷歌验证码 ReCAPTCHA 的破解绕过方法
大家好,这次我们给大家带来一种验证码的解决方案,总体来说是使用api来获取相应的token。
- ReCAPTCHA 介绍
reCaptcha是国外非常流行的一个网站反爬虫风控系统,基于图片识别的方式来检测用户是否是真实人类在使用,经过多年的发展,reCaptcha有很多不同的版本,例如v2, v3,以及对应的企业版
最经典的V2版本验证码如下:
点击小框后会触发验证,通常情况下,验证码会呈现如下的点选图:
比如上面这张图,验证码页面会出现九张图片,同时最上方出现文字「人行横道」,我们需要点选下方九张图中出现「人行横道」的图片,点选完成之后,可能还会出现几张新的图片,我们需要再次完成点选,最后点击「验证」按钮即可完成验证。
ReCAPTCHA也有体验地址,大家可以打开 https://www.google.com/recaptcha/api2/demo
查看,打开之后,我们可以发现有如上图所示的内容,然后点选即可。
这种类型的显式验证码,主要有三种类型:
1. 3x3 方格的验证码,像这样的:
2. 4x4 方格的验证码,如下:
3. 还有一种是动态类型的验证码,点击小图后会出现新的小图,如果满足条件也需要点击新的小图
如果想要批量绕过这种验证码,靠传统的模拟点击肯定是不行的,效率低下。你需要破解谷歌的加密算法,二是要进行大量的图像机器学习训练才能稳定的通过。
但是很高兴的是网站 EzCaptcha:https://www.ez-captcha.com/, 已经给我们铺好了道路,我们只需要把验证码的网站的相应参数提交上去(ezcaptcha给出了相应的寻找参数的文档),然后就可以获得相应的token,最后便可以大量且快速的通过验证码。
下面我们来借助 EzCaptcha 来试试使用api获得token的过程。
- EZCaptcha
在使用之前我们需要先注册下这个网站,网站地址是 https://www.ez-captcha.com/,注册个账号之后大家可以在后台获取一个账户密钥,也就是 ClientKey,保存备用。
然后我们可以查看下这里的官方文档:https://ezcaptcha.atlassian.net/wiki/spaces/IS/pages/425998/createTask,这里介绍介绍了一个 API,大致内容是这样的。
首先有一个创建任务的 API,API 地址为 https://api.ez-captcha.com/createTask,然后看下请求参数:
对于V2的版本,这里我们需要传入这么几个参数:
type
websiteURL
websiteKey
isInvisible
相对应的找这些参数的教程都在此网页中详细描述出https://ezcaptcha.atlassian.net/wiki/spaces/IS/pages/426202/reCaptcha
Recaptcha是分几个版本,分别是V2企业版和V2普通版,还有V3企业版和V3普通版,相对应的判断方法也可以根据ezcaptcha的使用文档进行判断:
https://ezcaptcha.atlassian.net/wiki/spaces/IS/pages/459048/reCaptcha
根据以上ezcaptcha的使用文档,我们已经判断出此网站https://www.google.com/recaptcha/api2/demo使用recaptcha的版本为V2普通版,这样我们就可以POST这样一个内容给服务器
POST https://api.ez-captcha.com/createTask Content-type: application/json { "clientKey": "d60f4b494631479a9486d67f84069f61234778", "task": { "websiteURL": "https://www.google.com/recaptcha/api2/demo", "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "type": "RecaptchaV2TaskProxyless", "isInvisible": false } }
然后服务器就会返回类似这样的相应:
{ "errorId": 0, "taskId": "fd8a3af5-339b-47c7-aa10-9badf20cad7f" }
下一步则是需要post一个获取结果的代码:
POST https://api.ez-captcha.com/getTaskResult Content-type: application/json { "clientKey": "d60f4b494631479a9486d67f84069f61234778", "taskId": "fd8a3af5-339b-47c7-aa10-9badf20cad7f" }
然后我们就会得到一个返回的结果(如果status是processing,则需要再继续等待结果生成,几秒后 重新再请求一下获取结果接口):
{ "errorId": 0, "solution": { "gRecaptchaResponse": "03ADUVZwCCtvCwf0U4KUEj4oy4NJv4Mw9F4cSkWxMZPhcVXAuqjVK3Tovs0SP7mhRuziWWKroYpPG28XKdL_GBm_jH7R_0_oItV5jlE3Nimr79ccNKRcUd_dqgTviNDaQXjIh470kF6HtgGroM6BOVucL37CSV4GvLAdgbuUQSRJ9AXCM2OTZ9jEgFYWS-FPpGLyqEWsjoarckoC-p3Lmb5RHhNoX86f27S2SgdTYXgWSoMY8rzurq6CsEKCtTthsFSLowgD_5SmNWXA2Z8xFIYWEEr-VFbt5JzXJ6yLqNZaaTZOkuyGTwUD4OOF1IVI3sd9ITtptjjXJSvHZbJV00Z2qT4CqRHhz27SpOcUCGz2oyAn021lEBMWRq2jO3KHF7M5lp6yV5Zv-K5nh9iNu3qMGQ0mi-zVEww76KZ8UGMHogPvVdqTo-kpLGYiJ9NBqr77qhx8EB3CWVJEcMhyYYGz81VxOsx6BgQSLOnNtL4wZA9j6ylLoU61mkQqkjLhUyxwXwBNoqIADhvwtF4ZtzDaFOIRxdWd9QdsAC1w6w1z3nLBx4XJblQi4NnNTu6qrRkzokePzFBKrKFXnUlf8lWSQK35pzHG777cx0garb3yyitB77BFLE4s0D8o2xuNpz3PpPyZ6t0jaV2j5EH9i4JAKbZnnMdilJrU5RjO8H24IyL5jpYaGsnMdFdsM0M8A9nwkIjA7iLZYZkwz7xrmFqxnjIBb9KQ8fC-Dujop5kBOt9CBaa8-qKjoQrZPcm5W_JTqU8Xlkq5iJZvLILGoVgTJ857xJlRC5ph3V7bVC-bwEwXTQ9D7q4LYOpJ-VQuBVc3OluHIwWdmiirynIZsD9D-_56cvsCSswhSF-7RRUzJefclxfL-NQcDHODKZtB7Vta2eiYwalraRmsAVA1gYH4d2Lb2CTt4ovMldJ5OJcwP8fDW9j03Z6pdqZGMAdOtfdLUBYFkpaMrhOkwEIJ7x9StCdr1XNktXZZOFyCJ_IA5FfDHMXJlJjZ8PGHzBTeIbZBVFSFxkN7p2MvnfVfO4GUL0b9NOkwnLo9XTkZRgvaeebF0EWP2VLR6WKewe7lgbvRntmoNuKROTC4Ubo_SBD0l1sxR3TWZ88xaHKsrAPfA6beGAZLhLsBHEjQqdmxskYGP7IaP1cXZ3_F4QDIca1o4pqU1P09aB9wSyDYhW3L811VtEMtxlCc3dxKDYq_KCUYs7Kzaz0ibPRu0OWBu8vlyq6kuezSlJHPyi1R9dv34w2RakkXQEAjKrrWNmG8-48VK9n9lNnloH9YqCzIs2LiwfOZLrnEOuKY1PgnjLqC4sJUdXIFV0UWMbpCAglE7iyb8ppb2HUsuRUbpm3Kxt5rUftVehdCY6fDADCJmmCc8Fy5yHW1fJKsgg2iCjwKmNhG-BfiMLCMJz25pBmMe7JXsCrwlo1XpqaFGCosmbMw1aw8hKi-BsQf7DnJKtfpn6FeGnIFFDgBt7LMpjv9kMbw0gqVAHvT662iCKkg54k0fsiUEz-g5PXc6ooCRkHNIHdKx8dUZGChkkhj55u37AQHVvTpq-2wpeHG5vvs0QsuaVJK1e29jUyHueUMk_w-tu7IRHjPvqZzbSEkF1ITLK5q2HHZYefWlwXwoqzxZMD4z7kcJ3OwGTjs6oNkxv4QvozdBbevVCLd_sGO-hQbhDGdNCXpWBKZZKsO18HIxTsYdyyBB3xHKorCSVpk0ApoWS3g8VHspDcwdxAQqR38-CmvTeOmszZeJMeSDOPgiGEGceWnaCQibzqKpXhOfRSvaimhCe4cG9FbNd_I_nepNqUr-Ij8lyMxv04N-bXonXTDlKUulN4pPSpYuThWuta_ehTEsIlIcvL-5N4op_WAeOn6wYyXca4FZsvA" }, "status": "ready" }
如此我们便得到了结果
- 注册地址
这个验证码服务是收费的,每验证一次需要花一定的点数,但是在市面上来看还是比较便宜的,而且能过很多网站。
Ezcaptcha累计充值越多,VIP等级越高,从而可获得额外赠送的点数,如果用量较多,到达了最高的vip等级,可以最高有20%的额外积分,再算上邀请奖励,会非常划算
最后再次贴出此网站的网站https://www.ez-captcha.com/
感谢大家的支持
————————————————
版权声明:本文为CSDN博主「ezcaptcha」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ezcaptcha/article/details/132456756