2captcha 和 apify 之类的验证码解决服务如何在内部使用 data-sitekey 复制我的验证码?

Him*_*dar 1 captcha recaptcha web-scraping apify 2captcha

据我从各种博客了解到,像 2captcha 这样的网站是一种人工图像和验证码识别服务。它的主要目的是由始终在线接收我的验证码的员工快速准确地解决您的验证码,并最终解决相同的问题。

现在让我们以https://www.google.com/recaptcha/api2/demo为例。假设生成了一个验证码,2个验证码就像data-sitekey为每个验证码生成的服务需求。

data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
Run Code Online (Sandbox Code Playgroud)

现在我不明白的是,验证码解算器如何仅使用数据站点密钥在其端复制/重现验证码。谷歌是否提供任何服务来复制相同的内容?

另一端的人如何接收自己这边的相同验证码、解决它并将其发回?

ELI*_*ITE 6

现在回答这个问题已经很晚了,但这仍然可能对将来的某人有所帮助。

\n

我心里也有这个疑问,并开始分析。我浏览了几个网站、博客和研究论文,发现了它的内部运作方式。

\n

以下是我从验证码实现中了解到的内容。

\n
    \n
  1. 与网站关联data-sitekey,在加载验证码之前,谷歌会通过验证 来验证该密钥是否来自关联的域document.location.hostname
  2. \n
  3. 当用户解决 reCaptcha 问题时,它会生成g-recaptcha-response令牌,该令牌只不过是基于您的浏览器历史记录、google.com cookie 和其他浏览器数据的验证码解决方案。
  4. \n
  5. 然后,后端服务器通过调用 Google API 并shared secret key在 Google 和您的网站之间传递来验证此令牌。
  6. \n
\n

这些验证码解算器服务的工作原理

\n
    \n
  1. 期望data-sitekey来自website-url用户。
  2. \n
  3. 创建一个 html 页面,其中包含用户提供的 reCaptcha data-sitekey
  4. \n
  5. hosts通过添加提供的用户条目website-url并将其指向来更新文件127.0.0.1
  6. \n
  7. 在本地计算机上安装的任何 Web 服务器上打开此 html 页面,并尝试使用用户提供的 URL 来访问该 URL,website-url因为它指向127.0.0.1。这样,谷歌就会认为请求来自有效的网站,并生成 reCaptcha。
  8. \n
  9. 解决此 reCaptcha 后,g-recaptcha-token将生成该验证码并在约 120 秒内有效,然后该令牌将返回给用户以进行进一步的操作。
  10. \n
  11. 用户必须将此令牌插入到text-areaid 为 的页面中g-recaptcha-response,然后提交页面。
  12. \n
\n

参考

\n

我已经在我的 YouTube 视频Selenium Automation of a Website with google recaptcha中解释了这一点。

\n

github 上不存在源代码,因为我删除了我的 github 帐户。如果我可以恢复源代码,我会将其添加到我的 gitlab 存储库NiRRaNjAN RauT \xc2\xb7 GitLab中。

\n

研究论文I\xe2\x80\x99m 不是人类:打破 Google reCAPTCHA

\n

基于这些知识,我以实惠的价格构建了自己的验证码解算器服务Fast Captcha Solver

\n