验证码是什么?
验证码是“区分计算机和人的自动图灵测试”的缩写,是区分用户和计算机以及人的公共自动程序。可以防止恶意密码破解、票务、论坛水,有效防止黑客不断试图用特定程序破解特定注册用户。其实验证码的使用在很多网站(如招商银行网上个人银行、百度社区)都是一种常见的方式,所以我们用一种相对简单的方式来实现这个功能。验证码设计的初衷是通过计算机生成和判断。但是,只有合法用户才能回答问题。如果回答不能回答,如果用户被裁定违法,则不予通过。
验证码的作用是什么?
验证码的出现不是功能需求,也不能提升业务能力,更谈不上它的价值。2002年,路易斯安那州的冯·安首次提出了名为“验证码”的程序概念,仅解决了一次恶意计算机攻击。这是一个指向请求发起者并提问的程序。正确答案是这个人。
这个程序基于一个重要的假设,即提出的问题人类可以很容易回答,但机器无法回答。这对于机器来说是一项艰巨的任务,但对于人类来说相对可以接受。雅豪用图形验证码迅速解决了困扰雅虎很久的垃圾邮件问题。从那以后,图形和其他类似的认证码一直在增加。
随着互联网的发展,几乎所有的计算机系统都使用验证码机制,验证码机制经历了无数次的演变,现在已经演变成各种类型。
1.图片验证码:图片验证码是人们第一次使用的标准验证码。这是基于当时机器很难处理复杂的计算机视觉识别问题,人类很容易区分人和机器。这个验证码的主要机制是,人类的知识很容易解决,而计算机很难解决。目前,为了增加验证码的对抗效果,图像验证码的方法包括添加干扰线、文字粘连、背景颜色感知、字体变形、空心字体等。
2.基于知识的问题验证码:虽然图像验证码使用了很多方法来防止机器识别,但是很遗憾,无论哪一种都有成熟的对策,图像验证码基本都会退出历史舞台。这种验证码通常使用普通人熟悉的问题,比如1 x 1是什么数字,今天几号等等。
3.动作验证码(非知识验证码):动作验证码主要包括检查验证和滑动验证。目前验证码不是新的,用户体验很好。淘宝和谷歌都采用了这种认证方式,很多大型网站已经用了一段时间了。
4.短信验证码:将短信验证码发送到手机,用户将在网站上填写收到的验证码,验证用户的正确性。大型网站,尤其是购物网站,甚至银行网站,都提供短信验证码功能,保证购物安全、准确、安全。手机短信验证码是目前最有效的验证码系统。当然,这个验证码不是不可破解的。这种验证方法真的是最有效最直接的方法。但近年来,随着猫池和特殊月卡在一些地方的大规模使用,这种方法的实用性大大降低。
5.用户信息类型验证码:这个验证码很难破解。它将用户在注册过程中填写的信息与同类型国外用户的其他信息放在一起供用户选择,通过比较结果确定是否属于该用户。比如验证码确定哪个邮寄地址是你的,然后在第六列,一个是用户真实地址,一个不是用户地址,用户体验很棒,可以区分用户和机器。
验证码破解有多容易?
图片验证码最容易破解,分为数字型、文字型、符号型、综合型。下面描述验证码破解的数字和字符的类型,主要步骤如下。
获取验证码:通过查看源代码,在本地下载验证码图片。删除背景和干扰线,用白色替换图片中部分颜色的最大数量,相当于删除背景。如果一个像素与周围四个像素中的两个或三个有很大的色差,则使用滤波算法来消除噪声。
取出字体:下一步是建立这个验证码的特征库。0-9个字符和Amurz case通过下载多个验证码图片进行分割保存。
二进制:要想二进制,就要设置一个阈值。如果像素大于阈值,则替换为1,否则表示为0。
计算特征:对待识别图像进行二值化,然后将其分割成小图像,从而得到图像特征码。
对比样本识别:将图片的字符编码与验证码的字体进行对比,得到验证图上的数字或字母。如果有识别错误,字母或数字是特殊的。如果将字母或数字作为字符模块存储为特征库,目前的方法可以正确识别相似字符,验证码识别率基本可以达到100%。
基于知识的问题验证码破解:这类知识验证码通常使用题库进行,数量有限,破解方法相对简单。通过批量刷新和编写机器码,建立题库的答案对照表,然后通过正则表达式从网页中抓取问题文本,最后与题库中对应的答案进行匹配。现在这个验证码已经基本淘汰了。
动作验证码破解:动作验证码的原理是要求用户使用一定的动作,如滑动、点击等。,所以破解这个验证码的主要思想是模拟用户的动作。其实相对于识别图片,更容易产生机器不确定为作弊的滑动动作,尤其是hml 5支持Canvas之后。例如,滑块的运动实际上模拟得很好。首先判断验证码是什么时候出现的,然后确定验证码是什么时候加载的,通过x轴和y轴确定验证码的位置。然后用程序模拟拖拽验证码的动作。当然这个验证码也有对应的时间滑动速度和阈值,需要大量的测试。试着模拟一个人的滑行动作。
破译短信验证码:破译短信验证码有两种方式,但目的不同。一种是用户通过在手机中植入木马获取短信内容。这个类主要用来窃取用户数据或者其他东西,比较少见,针对性很强。另一种主要是针对网站,利用猫池和专用手机卡注册大量需要注册手机号的网站和平台,然后利用这些作弊账号刷卡或做其他违法行为。
用户信息验证码:这个验证码只有打到数据库才能使用。冲突数据库是黑客在互联网上收集泄露的用户和密码信息,生成相应的字典表,并试图批量登录其他网站,以获得一系列可以登录的用户。
无论验证码是什么,都要考虑安全性和用户体验。但是,如果你真的在安全和良好体验之间有一个很好的平衡,就需要同时在这两方面下功夫,才能保证整体的安全水平。
本文地址:[https://chuanchengzhongyi.com/kepu/b04d879c32d74a99.html]