绕过谷歌reCAPTCHA验证的安全测试

绕过谷歌reCAPTCHA验证的安全测试

reCAPTCHA计划是由卡内基梅隆大学所发展的系统,主要目的是利用CAPTCHA技术来帮助典籍数字化的进行,这个计划将由书本扫描下来无法准确的被光学文字辨识技术识别的文字显示在CAPTCHA问题中,让人类在回答CAPTCHA问题时用人脑加以识别。reCAPTCHA正数字化《纽约时报》的扫描存盘,目前已经完成20年份的数据,并希望在2010年完成110年份的数据。2009年9月17日,Google宣布收购reCAPTCHA。

在很多使用代理情况下,或是我们使用脚本程序去访问获取某些网站数据时,网站的安全策略会把我们拦截,并给出谷歌验证码( reCAPTCHA ),主要就是做人机验证。这样目标站是比较安全的,不会被恶意流量攻击,但给我们“正常”需求也带来很多麻烦,一旦出现验证码reCAPTCHA或机器人验证,就必须人工去输入或点击才可以继续后续操作。今天在体验盒子看到了一种可以绕开谷歌搜索出现验证码的方案。

绕开谷歌搜索验证码reCAPTCHA

Facebook 有一个调试工具。有趣的是,Google不会限制此调试程序发出的请求(列入白名单?),因此可以用来绕开Google搜索结果而不会被验证码阻止。由于涉及facebook,每个请求都必须向库提供一个 facebook 会话 Cookie。

方案已经有了,下面只要实现它就行了,这里分享一个现成的谷歌搜索结果提取脚本,并且就是基于该方法绕开验证码的。

谷歌搜索脚本,基于Python,

  • 安装goop

pip install goop

或 git clone https://github.com/s0md3v/goop.git

  • 使用示例
from goop import goop
 
page_1 = goop.search('red shoes', '<your facebook cookie>')
page_2 = goop.search('red_shoes', '<your facebook cookie>', page='1')
include_omitted_results = goop.search('red_shoes', '<your facebook cookie>', page='8', full=True)

返回的数据结构

{
    "0": {
        "url": "https://example.com",
        "text": "Example webpage",
        "summary": "This is an example webpage whose aim is to demonstrate the usage of ..."
    },
    "1": {
...

cli.py通过使用以下命令从终端执行谷歌搜索来演示使用情况

python cli.py <query> <number_of_pages>

至此,已经完整走过一遍绕开谷歌搜索结果验证码的流程,你可以将该方法融入到任何项目中。

但也要注意,故意绕开谷歌搜索验证码及使用facebook调试方法进行目的的操作都是不可取及不长久的。仅限用于概念验证而非非法使用。

关于作者

cdnya administrator

安全防御技术员

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据