前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >原来这样 4 步就能破解,再也不用手输验证码了!

原来这样 4 步就能破解,再也不用手输验证码了!

作者头像
double
发布于 2020-04-01 06:58:45
发布于 2020-04-01 06:58:45
4.1K00
代码可运行
举报
文章被收录于专栏:算法channel算法channel
运行总次数:0
代码可运行

解惑之术

• 解决方案 1

• 解决方案 2

• 具体实现

解决方案 1

还在为谷歌类验证码挠破头皮?

还在为滑块验证码感到头皮发凉?

谷歌的这种验证是reCaptcha(v2.0)该服务使用的简单算法如下:

• 目标网站开放凭据(验证码的“站点密钥”,站点url,可选:代理IP)由您(客户端)复制并提交给2captcha服务。您可以使用简单的Web开发人员工具找到它们。

• 服务端的工作人员使用提供的凭据解决reCaptcha。

• 在10到30秒钟内,您会以g-recaptcha-response令牌的形式请求答案。

• 您可以在带有recaptcha的目标网站[提交]表单内使用此g-recaptcha-response令牌。

另外,如果你想通过javascript逆向的方式去解决验证码方案,往往逆向的难度都是比较大的,例如某团的js逆向验证码:

虽然验证码是简单的英文字母验证码,可以使用简单的ocr进行字母识别,但是我们看看提交的表单:

这里的token参数有加密,让我们继续看看后面:

我们可以通过后缀看到==结尾,通常是通过base64的方式进行加密,而表单的最后一个参数是图片的字母。作者尝试过逆向其中的token参数,发现里面的js文件进行了混淆,难度瞬间升到顶级。所以我们对于验证码的绕过,使用第三方平台服务比较方便。

而对于滑块类验证码,我们需对样本数据进行数据标注,即将滑块的位置标注,用目标识别的模型,预测出滑块位置,最后通过轨迹方程,通过滑块验证。你可以自己搭建模型或者github上克隆别人的代码,通常项目作者与自己所使用的库版本不兼容,或者什么劈里啪啦的原因,导致使用的时候会报错(本人在学习yoloV3的时候深有体会…)。如果你想快速的开发上线功能的话,报错、准确率不高的情况就比较愁人。

解决方案 2

那么我再另外提供一个思路,在一天苦苦的在想还有什么破解方法的时候,我偶然间看到俄罗斯的一个服务商 2Captcha 提供的图像识别和一系列行为验证码的识别服务。他是通过图像识别算法和大量人力的支撑,相当于将我们的训练工作省去了,我们可以直接调用他们训练过的模型,或者其背后会有人来对验证码进行模拟,然后返回其验证成功后的秘钥,我们利用其结果便可以完成一些验证码的绕过。然后我们就可以猥琐、美滋滋地进行学习333。

当然这种网站肯定是要收费的,按照 1000 次识别为单位,其花费的费用为 0.5 美刀到 2.99 美刀不等,对于谷歌这类的验证码,具体的内容大家可以到其官方说明 https://2captcha.com/2captcha-api#rates 去查看。下面我们就来以谷歌验证码为例子,使用第三方平台,一起来体验一下其魅力。打开官网,看看使用该类型的验证码服务需要提供什么数据:

大概操作就是通过源码找到验证码元素里面的id信息。

具体实现

1.准备chromedriver、selenium,或者requests。

在准备登陆目标网站之前发现有这个东西阻拦着我们。

2.当打开目标网页的时候,发现有滑块类|谷歌类验证码。

• 让我们打开网页调试查看源代码,查看此验证的元素查找以www.google.com/recaptcha/api2/anchor开头的链接,或查找 data-sitekey参数。

• 让我们复制这个属性的值

• 让我们把这个属性的值发送至服务端,相当于告诉服务器我们遇到的哪一个验证。

3.让我们试下将验证发给服务器

请求接口:https://2captcha.com/in.php 让我们看看服务端需要我们发什么参数过去

那我们就照着要求发送吧。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
from urllib.parse import urlencode
from json import loads

url = "http://2captcha.com/in.php?"
params = {
    'key': 'c************************a48',  # 服务的密钥
    'method': 'userrecaptcha',  # 直接赋值
    'googlekey': '6LfxxxxxxxxxxxxxxxxxxxxxRMFJYMz8',    # 从元素里复制下来的sitekey
    'pageurl': 'http://google.com/recaptcha/api2/demo', # 当前的url
    'json': 1 # 拿到json形式的数据
}
response = request(method='get', url=url+urlencode(params)).text
print(loads(response))

>>{“status”:1,“request”:2123279149} # 证明成功了,我门只需要拿到request的值就能拿到返回
结果接口:https://2captcha.com/res.php

我们再看一下这个接口要求的参数是什么:

我们照猫画虎,构造url

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
url = "http://2captcha.com/res.php?"
params = {
    'key': 'c************************a48',  # 服务的密钥
    'action': 'get',  # 直接赋值
    'id': 2123279149,    # request值
    'json': 1
}
response = request(method='get', url=url+urlencode(params)).text
print(response)

我们就拿到了类似这么长的一个东西。

03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB-50GQHPEBJUHNnhJyDzwRoRAkVzrf7UkV8wKCdTwrrWqiYDgbrzURfHc2ESsp020MicJTasSiXmNRgryt-gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3-egcplD1uLGh79wC34RF49Ui3eHwua4S9XHpH6YBe7gXzz6_mv-o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q

拿到这个怎么用呢??

找到ID为g-recaptcha-response的元素,并通过删除display:none参数使其可见 。

4.决胜之日

完成上面的操作后,就会出现一个文本框,然后通过元素定位,将res拿到一大串的东西输入.

我们再通过检查元素,定位至Submit的按钮元素;最后通过selenium语句实现自动化点击:find_element_by_id_name(‘recaptcha-demo-submit’).click()(注意:或者其他定位语句,例如:find_element_by_xpath等):图片出现如下就说明,已经验证通过了!!!

以上操作都可通过selenium自动化完成,且若不能成功返回数据的,请看官方文档,里面详细的介绍的出现错误的类型及其解决方式。

链接:https://2captcha.com?from=8995879

最后,我在这里说一下,对于开发周期太短,技术实现太复杂的情况我推荐用服务商的接口,因为如果花太多时间在绕过验证码这方面,还不如优化一下代码,使得代码运行速度更快、鲁棒性更强,(另外实在不行的情况下我们也可以让功能先上线再说…技术的东西慢慢不上),毕竟攻城狮能合理调配资源解决问题也是好攻城狮;还有说一句,破解完成后的感觉实在是太棒了!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用GPT4o Captcha工具和AI技术全面识别验证码
GPT4o Captcha工具是一款命令行工具,通过Python和Selenium测试各种类型的验证码,包括拼图、文本、复杂文本和reCAPTCHA,并使用OpenAI GPT-4帮助解决验证码问题。本文将详细介绍该工具的安装步骤、使用方法以及具体的应用案例。
猫头虎
2025/06/01
200
利用GPT4o Captcha工具和AI技术全面识别验证码
验证码破解全流程实战
验证码,全称为“Completely Automated Public Turing test to tell Computers and Humans Apart”,即全自动区分计算机和人类的图灵测试,Captcha。早在上个世纪90年代,为了防止恶意的网络机器人行为,像邮件轰炸、暴力破解密码等,验证码应运而生。
TechLead
2023/10/21
2.2K0
验证码破解全流程实战
Selenium+2Captcha 自动化+验证码识别实战
本文深入探讨了使用Selenium库进行网页自动化操作,并结合2Captcha服务实现ReCAPTCHA验证码的破解。内容涵盖Selenium的基础知识、验证码的分类、2Captcha服务的使用,以及通过实例进行的详细讲解,最后对实践进行总结和优化思考,为读者提供了一条完整的验证码破解实践路线图。
TechLead
2023/10/21
1.8K0
Selenium+2Captcha 自动化+验证码识别实战
谷歌家的验证码怎么了?搞他!
很久没有做爬虫破解类相关的分享了,之前交流群里有朋友提问谷歌系的reCAPTCHA V2 验证码怎么破,因为工作的原因我是很久之后才看到的,也不知道那位朋友后来成功了没有。那今天就来跟大家分享一下 reCAPTCHA V2 的破解。
崔庆才
2020/01/02
4.4K0
国内使用Google reCaptcha验证码
为啥我出这篇文章呢,因为我有几天用了vaptcha进行人机验证,还算好用,但是发现手机上有广告,本着原则问题,我剔除了人机验证。 又发现在邻居@kidultff发现谷歌国内验证也可以,于是探路V3版本
一朵灼灼华
2022/08/05
4.4K0
国内使用Google reCaptcha验证码
新版滑动验证码
今天的主角是滑动验证码,现在有很多网站使用了极验验证码来智能反爬虫,其中有一种是滑动验证码,具体来说就是拖动滑块来拼合图像,若图像完全拼合,则验证成功。下图是B站的登录验证码,便是采用了极验的滑动验证码,一起来看看如何破解吧!
老肥码码码
2020/01/17
4.8K0
新版滑动验证码
国内使用reCaptcha验证码的完整教程
reCaptcha是Google公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点。reCaptcha在使用的时候是这样的:
宜轩
2022/12/26
35.1K0
国内使用reCaptcha验证码的完整教程
12306破解!
验证码(CAPTCHA),是一种区分用户是计算机还是人的公共全自动程序。对于研究爬虫来说,这应该是爬虫的“天敌”。
谭庆波
2020/03/13
1.8K0
手把手使用Python教你破解谷歌(Google)人机验证码—上篇
今天呢,咱们来说一下Google,我们都知道,Google是目前地表最强的搜索引擎了,我们可以借助Google庞大的搜索资源找到一些自己想要的资源,可能是一些收费电影,可能是一些奇门小说,可能是某个角落的种子,不管怎么说,Google搜索还是挺给力的,但是呢,有梯子的我们可能都遇到过,我们搜索的多了,会有下图的这种情况。
Python进阶者
2020/02/19
6.8K1
手把手使用Python教你破解谷歌(Google)人机验证码—上篇
Python爬虫实现验证码登录
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
张凝可
2019/08/21
3K0
验证码的处理 google recaptcha
google验证码的第三方处理 #经过批量测试,成功率高达百分之九十,1000个邮箱大概4美金,比较实惠 第一部分. 通过请求youtube简介页面,获取网红的channel_id和页面产生的ses
用户8346838
2021/03/10
1.4K0
极验验证码破解分析
任何一个网站,如果在登录时网站接入的极验的接口,那么该网站就可以使用极验验证码进行登录,此时极验验证码API就会返回两个极验参数,gt和challenge,这两个参数只跟极验验证码API相关,跟这个网站没有任何关系。
周小董
2019/08/18
4.8K0
自动识别recaptcha验证码辅助爆破
最近的项目实在有点多,小的几千块,大的几百万。有些真心不好做,有些只是写写代码。唉,我是废物。几百万的真心吃不下。
洛米唯熊
2021/10/21
3.6K2
Python自动化解决滑块验证码的最佳实践
滑块验证码(Slider CAPTCHA)是当前互联网广泛使用的反爬机制之一,它要求用户手动拖动滑块到指定位置以完成验证。这种验证方式可以有效阻止简单的自动化脚本,但对爬虫开发者来说却构成了巨大挑战。
小白学大数据
2025/04/26
3630
从零玩转腾讯滑块验证码
现在大部分公司的前端都是以滑块验证码进行验证机器人行为,后端也有但差不多都是图形验证码或者手机验证码,直接进入主题接下来我们要玩转的技术 是腾讯云出品的滑块验证码(可以免费领取5W以上的免费次数有效期限一年哦)
杨不易呀
2022/01/19
11.6K7
从零玩转腾讯滑块验证码
1.3K Star开源好工具,跳过图形验证码
开源日记
2023/12/13
1K0
1.3K Star开源好工具,跳过图形验证码
如何使用Python爬虫处理多种类型的滑动验证码
背景介绍: 在网络爬虫的世界中,滑动验证码是一种常见的反爬机制。它通过要求用户在网页上滑动滑块来验证身份,从而阻止自动化程序的访问。对于开发者来说,如何在Python爬虫中应对多种类型的滑动验证码成为了一个巨大的挑战。本文将分享一些观察和思考,以及一些建议,帮助你处理各种类型的滑动验证码。
小白学大数据
2023/08/28
1.4K0
Python自动化解决滑块验证码的最佳实践
滑块验证码(Slider CAPTCHA)是当前互联网广泛使用的反爬机制之一,它要求用户手动拖动滑块到指定位置以完成验证。这种验证方式可以有效阻止简单的自动化脚本,但对爬虫开发者来说却构成了巨大挑战。
小白学大数据
2025/04/25
1650
利用HTTP参数污染方式绕过谷歌reCAPTCHA验证机制
今年初,我上报了一个谷歌reCAPTCHA验证码绕过漏洞,该漏洞在于能用一种HTTP参数污染的不安全方式,让Web页面上的reCAPTCHA构造一个针对 /recaptcha/api/siteverify 的请求,在这种情况下,攻击者可以每次都能绕过reCAPTCHA的安全验证机制。之后,谷歌从reCAPTCHA API的顶层接口上对这个漏洞进行了修复。在此,我们一起来看看reCAPTCHA机制是如何被绕过的。
FB客服
2018/07/30
3.8K0
利用HTTP参数污染方式绕过谷歌reCAPTCHA验证机制
验证码识别服务2Captcha框架
2Captcha是一个自动验证码识别服务,主要用于解决各种互联网服务中的验证码问题。在许多网站注册账户或进行敏感操作时,为了验证用户是真实的而不是自动化程序,会出现验证码。用户必须正确输入验证码,才能继续使用网站的功能。该框架的目标是帮助客户自动化解决验证码问题。客户可以通过付费将需要解决的验证码发送给2Captcha,然后由2Captcha将这些验证码分发给专业的打码员进行输入。这些打码员是人工操作,而不是机器,他们能够快速有效地识别验证码,确保客户能够顺利通过验证码验证,继续使用所需的功能。
王 瑞
2023/07/22
1K0
验证码识别服务2Captcha框架
相关推荐
利用GPT4o Captcha工具和AI技术全面识别验证码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验