如何解码和绕过验证码。

我们可以通过一个命令行将其转换为png:

  $转换btc.jpg btc.png 

我们可以调整它的大小,例如:

  $ convert btc.jpg -resize 50% btc.png 

好吧,我仅给您提供了一些示例,如果您想了解有关转换程序的更多信息,建议您参阅: 选项摘要

Tesseract教程:

使用Tesseract,您可以提供包含文本的图片,它将输出文本。

命令行用法:

 tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...] 

范例:

我们有这张照片

让我们使用Tesseract从该图像中提取文本:

  $ tesseract medium.png- 

结果:

更多选择 :

  $ tesseract -psm 7 medium.png-(将图像作为单个文本行处理) 
  $ tesseract -psm 8 medium.png-(将图像作为一个单词处理) 

太好了,现在,您已经知道我们将如何绕过验证码。 但是在我开始之前,我想说一下,这仅是一个例子,并非适用于所有的验证码。

我们来抓取一个网站,尝试对CAPTCHA HA进行解码

忘记密码– MinerJet
编辑描述 minerjet.com

云采矿网站,我认为其中大多数只是使用A Ponzi方案哈哈。 无论如何,让我们专注于我们的主题。

验证码图片:

因此,想法很简单,我们将其转换为黑白(二进制):

  $ convert captcha.png -colorspace grey -threshold 50%captcha1.pn 

现在,我们有一个带有白色背景的黑色文本,我们可以使用tesseract从图片中提取文本

  $ tesseract captcha1.png- 

结果:L4K

我想创建python脚本来自动执行这些操作:

 从bs4导入BeautifulSoup 
汇入要求
导入urllib
数据= request.get(“ http://minerjet.com/forget.php”).text
汤= BeautifulSoup(数据,“ lxml”)
用于汤.find_all('img',{'alt':'CAPTCHA代码'})中的链接:
验证码= link.get('src')
最佳=(“ https://minerjet.com” +验证码)
f =打开('captcha.jpg','wb')
f.write(urllib.urlopen(最佳).read())
f.close()
..
..
...
...

我没有完成😊..

结论:

这只是一个想法,可以帮助您更多地考虑CAPTCHA系统的安全性。

和平。

编者注: 使用 浏览器隔离技术 或利用 远程浏览器服务, 在您和恶意软件之间 放置一个 WEBGAP