如何使用网络刮刀提前解决reCaptcha?

时间:2017-04-22 08:39:46

标签: python python-2.7 web-scraping recaptcha

我目前正在尝试解决reCaptcha问题。收到的建议之一是称为代币养殖的方法。

例如,可以从其他站点获取reCaptcha令牌,并在2分钟内将其中一个养殖令牌应用到我试图通过更改站点背面代码来解决的站点。

不幸的是,无法进一步解释如何这样做,尤其是改变网站背面的代码。

如果有人能够详细说明或提供有关流程的见解,那么我们将非常感谢您的专业知识。

1 个答案:

答案 0 :(得分:7)

此处详细描述了令牌农/令牌收获:https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf

"令牌农业的方法"本文讨论的是基于以下机制:

  1. 使用recaptcha访问网站的每个用户都会被分配recaptcha-token
  2. 此令牌用于识别多个站点访问的用户,并将其标记为合法(或非法)用户。
  3. 根据各种因素,例如重新访问令牌的年龄,用户行为和浏览器配置,每次访问的用户要么会显示各种重新访问版本,要么根本不会显示验证码。
  4. (可在此处的代码中提取更多详细信息:https://github.com/neuroradiology/InsideReCaptcha

    意味着,如果可以为目标网站创建大量新鲜和干净的令牌并将其老化9天(这是文章发现的内容),这些令牌可用于访问重新访问的几个在看到重新接收之前受保护的网站。

    据我了解,这样一个新的令牌必须作为Cookie传递给相关网站。

    但是我记得曾经在某个地方看过谷歌在这次演讲后几天内缩小了这个差距

    也很可能还有其他类似的方法被贴上标签"令牌养殖"。

    据我所知,所有这些方法都利用了recaptcha系统中的漏洞,这些漏洞被谷歌关闭得非常快 - 甚至在论文或演示文稿公开之前,因为负责任的作者通常会事先通知谷歌。

    所以对你来说,这很可能只是学术价值,或者是为了学习如何正确保护验证码系统和基于令牌的服务。

    更新

    快速检查几个重新访问受保护的网站显示当前系统现在扰乱cookie,但重新接收令牌可以在recaptcha形式中找到两个隐藏的输入元素,具有部分不同的值和id =&#34 ;验证码令牌&#34 ;.

    使用干净的浏览器访问此类页面时,您将获得一个新的重新签名令牌,您可以将其保存起来,并在以后需要时插入到同一表单中。 至少理论上,很可能所有的Cookie和浏览器中的长期持久性内容都会让你无法做到这一点。