reCaptcha是否已被破解/被黑客入侵/ OCR被打败/被破坏?[关闭]


172

是否使用任何编程方法来击败reCAPTCHA?

我有兴趣看到证据,并可能证明完全自动化,无人值守的方法已使reCAPTCHA过时。

需要澄清的是,无论团队是否负责填写CAPCHA,色情搜索者或机械特克,都不要寻找任何涉及人类的reCAPTCHA作弊解决方案。

我也没有在寻找reCAPTCHA的替代方法,例如选择动物的类型,背景字段或JavaScript技巧。


18
这些答案中的错误信息数量惊人。如果ReCaptcha被“破坏”,那么最好有人告诉Facebook,Craigslist和TicketMaster,stat!:p
Jeff Atwood,2009年

15
杰夫,他们被告知,唯一的错误信息是将验证码称为有效的安全机制。无论是在常见的实现方式还是从理论上讲,它都在经验上被打破(不仅是reCAPTCHA,而且是验证码的概念)。另一方面,它并不是完全没有价值的,我实际上已经将该站点称为CAPTCHA的有效用例-除了许多其他机制之外,它还可以协同工作以使“攻击者”付出一点点成本更多。
AviD 2009年

13
我失望的是,对象不具有pwned在它
skaffman

2
有关该主题的更多研究:schneier.com/blog/archives/2010/10/analyzing_captc.html。实际上,我发现这些评论比帖子或研究本身更有趣……
AviD 2010年

9
喔!有史以来最好的验证码!xkcd.com/810
AviD 2010年

Answers:


92

我注意到,几乎所有答案都与验证码概念的无效有关,原则上-尽管我非常同意它们,但实际上几个月前在OWASP上的一次演讲对此进行了解释-这个问题非常具体,因此我将提供一个演示。
但是首先,我将重申该演示,重新阅读其他评论,因为事实是,CAPTCHA是毫无意义且无济于事的,与实施无关。

但实际上,请查看CAPTCHA Killer。您可以上传一个CAPTCHA图像,如果不是立即,它将自动提供OCR答案。它还提供了一个API(我认为是REST,但也可能是SOAP)。我亲自尝试了许多reCAPTCHA图像,实际上它是一些最简单(或至少最快)的图像。

更新:CAPTCHA Killer的网站现已关闭,显然是在法律压力下。有关该主题的完整概述,请参见http://captcha.org/

是的,OCR并不是破坏受验证码保护的站点的最佳方法-还有许多其他更好的方法。


3
我想知道验证码杀手的工作原理。在我看来,它看起来像是在用廉价劳动力并通过网站上的广告赚钱。(以及商品推销。)
GeorgSchölly'09

3
一般而言,有关验证码的有用答案,但问题是关于reCAPTCHA的。
迈克”于2009年

2
刚刚尝试了三个reCAPTCHA验证码杀手。这三个都过期,没有返回答案。
lfaraone

21
CAPTCHA Killer似乎已被杀害:它被试图散布其霸主统治和消除创意表达自由的跨国公司猛烈摧毁!如此美丽的杀手,如此早逝!
Kiril

4
我认为它只是更改域名并立即支付版本费用,请检查此passwordcaptcha.com/captchakiller.php
MarmiK 2013年

54

您可能会对这份详细的报告感兴趣,这本报告涉及4chan如何击败reCAPTCHA,并用它来操纵Time.com的年度TIME 100投票结果

Hacking Recaptcha(又名“阴茎洪水”)

下一个使用的策略是查看他们是否可以在reCAPTCHA实现中发现缺陷。他们发现的关于reCAPTCHA的一件事是,它总是向用户显示两个单词供解码-一个单词是reCAPTCHA系统已知的控制字,而另一个则是未知单词(reCAPTCHA使用人工帮助纠正OCR错误)。维基百科描述了这一过程:“扫描的文本由两个不同的光学字符识别程序进行分析;如果程序不同意,可疑单词将转换为CAPTCHA。该单词与已知的控制单词一起显示,并由人类标记。那些由人类法官始终给以单一标签的单词将作为控制单词被回收。” 2iasdo4匿名者意识到,如果他们总是用相同的单词标记未知的扫描文本-如果他们这样做成千上万次,最终很大一部分未知单词将被错误地标记为单词。他们所要做的只是看验证码中的两个词,为“简单”一个输入正确的标签(大概是两个光学扫描仪都同意的那个),然后为辛苦了。如果他们经常这样做,那么很快就会有很大一部分图像被标记为“阴茎”,并且可以恢复自动投票的能力(一种副作用,这一点在Anonymous上并没有消失,这是未来几年的观念将会有许多数字书籍的文字随机插入“ penis”一词。更新:我问Ben Maurer,

优化reCAPTCHA

与在文本中撒上“ penis”一词一样吸引人的是,匿名小组知道时钟在滴答,如果他们要恢复邮件,他们没有时间等待自动投票者重新上线-他们将不得不多次手动投票。因此,他们需要能够尽快输入验证码。他们制定了一套准则,使他们能够快速决定可以跳过哪些reCAPTCHA单词。例如:

您会得到2个字:1个真实的,1个伪造的。

对于[REAL FAKE][FAKE REAL],您只需输入即可REAL接受。

如果为[LOOKSREAL LOOKSREAL][LOOKSFAKE LOOKSFAKE],则通常只需输入两个单词即可。不要浪费宝贵的时间来确定其中哪一个是真实的。

使用单词的外观和类型来识别假单词。不要仅仅依靠其中之一。

整个规则集在这里:伪造的验证码


4
但是,那故事的重点是他们没有打破reCAPTCHA吗?相反,他们成功地简化了手动投票流程,使坚定的志愿者每人可以投票数千次。
pdc 2010年

4
@pdc,只是因为他们没有对图像进行OCR(尽管也可以这样做),并不意味着他们没有破坏reCAPTCHA。这样思考:reCAPTCHA的目的是呈现无法辨认的图像吗?还是防止自动泛洪?如果是第一个,则您可能会说它没有损坏(可以争论,但我不会同意),但是如果是第二个,则有经验证明reCAPTCHA不起作用。我还认为应该很清楚,除了娱乐价值之外,第二个目的是真正的目的,只有一个才有意义。
AviD 2010年

@AviD呵呵?根据这篇文章,不再可能进行自动泛洪。相反,敬业的人们能够比其他人更快地投票数次(并且使用了各种与验证码无关的技术来阻止无效的措施,以防止人类进行如此繁重的投票)。基本上等同于使用廉价的人工-reCAPTCHA当然不会声称会停止。
ToolmakerSteve

@ToolmakerSteve正是问题所在,reCAPTCHA并没有尝试阻止真正的问题。CAPTCHA尝试严重解决错误的问题。
AviD

32

CAPTCHA系统的弱点在于,在中国人们到处设置人满为患的房间,唯一的工作就是查看CAPTCHA图像并输入结果,然后将其插入实际上正在进行垃圾邮件处理的自动化系统中。

实际上,您对此无能为力。

它比尝试在实际图像上进行图像识别,OCR等要便宜得多(相反,您可能会得到低于$ 0.01的响应)。


62
甚至更好的是,他们要求从您的网站上获取验证码,并将其显示给一些虚假的人(从字面上看),以要求向他们显示一些色情内容。
Paul Tomblin,2009年

2
伙计...这很聪明(应归功于信贷)。
cletus

7
请注意,这并不意味着它是无效的工具。这仅意味着,如果您的网站足够受欢迎,则可能会发生这种情况。对于全球其他99.99%的网站,只需一个简单的验证码即可。
罗伯特·P

1
死了,CodingHorror的验证码甚至都没有改变,也没有被混淆,并且它可以很好地完成这项工作!
罗伯特·P

5
实际上,这并不完全正确。虽然这样的例子,它是FAR便宜OCR-破解CAPTCHA。用血汗工厂通常为垃圾邮件发送者在经济上是可行的。
詹斯·罗兰

21

在减轻使用验证码的压力之前,请考虑一些创造性的解决方法,例如让CSS隐藏一个标有“您的评论”的字段。如果输入了该字段,则服务器将丢弃该请求。即使仍然没有很好的方法来击败满是薪水不足的劳动力的房间,大多数人还是会屈服的。

更新:刚刚阅读了一个案例研究,删除CAPTCHA可将转换率提高近10%。这将向我表明,如果您损失了10%的潜在客户仅仅是为了过滤出漫游器,那它就相当破了。想象一下10%对大多数企业意味着什么。


2
这是非常聪明的方法,但是如果您足够受欢迎,则无法使用。例如,雅虎或谷歌永远都不会使用它。
dreeves,2009年

2
这里的问题是您的站点是否足够有价值以进行专门的攻击。大多数不是,而且很少特质会有所帮助。
David Thornley,2009年

3
我会为更新+1损失10%-非常重要。(但我不能+1隐藏字段建议的cuz,这没什么用。)
AviD

2
有两个问题“针对性攻击”和“随机垃圾邮件”。您的解决方案可能会为随机垃圾邮件节省大量资金,但是有针对性的攻击将在一天内淹没您的系统。
博士 邪恶的

1
@dreeves:谷歌不是刚刚获得reCAPTCHA吗?
普拉布

18

我最喜欢的验证码来自Microsoft:http//research.microsoft.com/en-us/um/redmond/projects/asirra/

Asirra(用于限制访问的动物物种图像识别)是一种HIP,其工作原理是要求用户识别猫和狗的照片。对于计算机而言,此任务很困难,但是我们的用户研究表明,人们可以快速而准确地完成此任务。许多人甚至认为这很有趣!

这是一项免费服务,他们提供了示例代码来帮助您入门。

我想知道它要破解多长时间。


1
不幸的是,cletus在上面的回答表明,这种服务在更大程度地打击垃圾邮件方面将是无效的。
Erik Forbes,2009年

1
我失败了,
汤姆·安德森2009年

3
我参加了考试,很高兴知道自己是人。:)
BoltBait

5
实际上,最好的验证码曾经是HotCaptcha-但我上次检查时是离线的。基于HotOrNot.com,它并不是非常有效,但是非常受用户欢迎:-)
AviD 2009年

2
这里的问题是由于密钥空间小,暴力破解非常容易。如果yuo开始添加更多对象来命名,则命名会变得模棱两可(例如,是袋鼠,乔伊还是小袋鼠?)。您需要确保要命名的对象与其可能的名称之间存在一对多的关系。
Oorang

11

reCAPTACHA不会损坏,并且不会很长时间。问题是,如果您破坏了自己的验证码,则可能需要很长时间才能对其进行修复。

摘自有关reCAPTCHA安全性页面

reCAPTCHA是一个Web服务。这意味着所有图像均由我们的服务器生成和分级。(…)这也提供了额外的保护级别:只要发现安全漏洞,我们的验证码就可以自动更新。

例如,如果有人编写了一个程序,可以读取失真的图像,那么我们可以在很短的时间内添加更多的失真,而Web管理员不必在他们身边进行任何更改。

我相信,由于它们专门用于验证码,因此已经存储了改进的版本,可以在需要时在短时间内部署。(当弱者还没有被打破时,为什么他们应该创建更强的安全性呢?)


9

它不仅被击败,而且在它的基础上成功构建了一个有用的应用程序,成为击败许多直接下载网站(不仅是megaupload和Rapidshare)的所有免费账户保护的最出色的工具。 )。

Jdownloader是开源和Java编写的所以在偷看源代码,不仅可以回答,如果它被打破,但也如何

编辑:大多数直接下载站点不使用reCaptcha,而是一种更简单的Captcha方法(3个大写字母用不同的颜色上色)。尽管如此,我知道Jdownloader和Cryptload(类似于Jdownloader的程序)是唯一可以有效破解Captcha方法的有效实现。我尚未听说有任何破解reCaptcha的实现。

更新:似乎至少已经破解了reCaptcha的一种实现(不是整个reCaptcha本身)。

2010年12月更新:Jdownloader似乎最终击败了reCaptcha。该插件仍处于试验阶段,只能在Windows版本的Jdownloader上使用,但是,正如一位尝试过该工具的伴侣告诉我的那样,它确实可以工作。


2
您知道这些文件托管服务商中的哪一个使用RE验证码吗,因为Rapidshare和megaupload不使用。
博士 邪恶的

@ dr.evil它几乎涵盖了我们可以说的托管者列表,因为该列表包含了许多我们从未听说过的托管者列表,该程序足够聪明,可以破解大多数验证码,如果没有,它会提示用户输入同样,不是很有用。我过去亲自使用过。在某些情况下,它是比IDM更好的最佳下载器之一,请注意:我不是jDownloader的启动者。谢谢
MarmiK 2013年

8

去年在Defcon黑客大会上发表讲话说进入与一般的验证码的问题。他们做的一件事是使用多个免费的OCR引擎,并让他们对最佳词汇进行投票。这样做,他们能够获得一定程度的成功机会。对于一种,大约是40%,但是我不认为这是reCaptcha。


3
这是很重要的一点,垃圾邮件机器人不必破坏所有的麻烦-如果可以继续尝试,则只有1%可以做到。
马丁·贝克特

8
  • “实际上,[reCAPTCHA][2011年1月4日]变得毫无用处,当时垃圾邮件发送者显然已经集体使用了一款可以规避reCAPTCHA并允许全自动注册过程的软件。机器人很忙,确实很忙,此后” [1]

2-3年前,当他们输掉战役时,基于文本键入的验证码方法越过了界限,即进一步的复杂性使它们相对而言(由于计算机功能正在增强,而人类则没有)使机器更容易,并且更令人反感和反感(如果没有)对人类来说完全不可能。这与CAPTCHA的原始范例相冲突,以作为一种测试,以确保计算机不会生成响应

更新:
请注意,reCAPTCHAGoogle Inc.拥有,但Google Inc.并未通过其自身的服务使用它。
这是一个包含验证码的链接网页,供Google本身(内部) 用于例如Gmail注册:

替代文字



请注意,Google的reCAPTCHA始终有2个字。
这是Google提供的供他人使用的reCAPTCHA图片链接。

和reCAPTCHA的屏幕截图:

替代文字

我留下一个明显的结论给读者。

引用:[1]
vBulletin论坛受到reCAPTCHA破解垃圾邮件机器人的攻击| PC Pro博客
发表于20111月12日,Davey Winder


5

我在受reCAPTCHA保护的系统上看到博客评论,该页面在页面上加载,一秒钟后成功完成了发布。User-Agent毫无意义(在这种情况下,它声称运行的是Ubuntu 9.25 / Firefox 3.8),引荐来源网址是一个完全不相关的网站,没有指向我们的链接。

这显然是自动化的。


3

reCAPTCHA尚未被击败。如果确实如此,那么Google为什么只购买它并宣布他们将在Google内部应用该技术来增强Google产品的欺诈和垃圾邮件保护?

Google获得reCAPTCHA,该发布于2009年9月16日发布到Google博客:

这样,reCAPTCHA的独特技术改进了将扫描图像转换为纯文本的过程,即光学字符识别(OCR)。这项技术还支持诸如Google图书和Google新闻档案搜索之类的大规模文本扫描项目。具有文本版本的文档非常重要,因为可以搜索纯文本,轻松在移动设备上呈现纯文本并显示给视障用户。因此,我们将在Google内部应用该技术,不仅可以提高对Google产品的欺诈和垃圾邮件防护能力,还可以改善我们的书籍和报纸扫描流程。


3

击败Captchas的最简单方法是Amazon Mechanical Turk。有一个名叫Kermit Welda的人向每个人支付一分钱来注册Hotmail,AOL和Gmail帐户。那是6,000个伪造的电子邮件帐户,每天5美分= 300美元。当您有其他人为您做肮脏的工作时,做生意的成本是相当便宜的。难怪我们服务器的垃圾邮件过滤器想要拒绝Hotmail中的任何内容。


这真的是答案吗?
奥斯汀·亨利

有道理,类似于“ Captcha的死亡”的概念。
kenorb

OP ha明确表示这不是他想要的。
Scott Solmer

2

AFAIK实际上,没有破解RE验证码实现的工具,但是最终我认为有人会这么做。

如果有人设法得到它,那很有趣,那么整个RE-captcha项目就毫无意义,因为re-captcha设计的数字化书籍无法自动完成。

BTW:

CAPTCHA系统的弱点在于,在中国人们到处设置人满为患的房间,唯一的工作就是查看CAPTCHA图像并输入结果,然后将其插入实际上正在进行垃圾邮件处理的自动化系统中。

您无法确保这样的系统安全,这就像在说“如果您的主机不在旧的军用仓库中,您的Web应用程序就不够安全,因为现在人们可以窃取您的计算机了”。


3
您的想法虽然正确,但是应用错了:(您引用的评论)认为,CAPTCHA不能解决它打算解决的问题。或正如我经常说的那样,“(一般)CAPTCHA是解决错误问题的糟糕解决方案。” CAPTCHA试图解决的问题(根据定义)是:我如何知道用户是人,而不是计算机?不管CAPTCHA是否解决了(不是),真正的问题是:如何防止服务大量泛滥?CAPTCHA服务器场和代理服务器显示出确切的区别。这就是任何安全解决方案都应从威胁开始的原因。
AviD 2010年

1
是的,全部归结为“为什么要使用CAPTCHA?”。对于某些系统来说,对于某些系统来说已经足够安全了,甚至还不够安全。但是就像加密中的keysize可以通过强行强制花费数年的时间来帮助保护某些东西(尽管最终它们会破解它!但不是在这个生命周期内,也不是在未来10年内),某些系统中的CAPTCHA可以帮助保护系统中的足够安全性。同样的方式 因此,正如您所说的那样,您使用CAPTCHA的目的是什么?
博士 邪恶的2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.