前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >图形验证码安全

图形验证码安全

作者头像
全栈程序员站长
发布于 2022-09-14 01:46:56
发布于 2022-09-14 01:46:56
2.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

目录

图形验证码

图形验证码的作用和原理

图形验证码的分类

图形验证码的验证过程

图形验证码的安全问题

静态图形验证码的激活成功教程

利用Python脚本激活成功教程静态图形验证码


图形验证码

我们经常在登录app或者网页的时候,都会需要我们输入图形验证码上的内容,以验证登录。有些是纯数字的图形验证码,有些是字母和数字,有些是图案,有些是数学表达式……不同的网站,采用的图形验证码的形式也不一样。那么,图形验证码到底是什么呢?

图形验证码是验证码的一种。验证码(CAPTCHA)是 “Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。

图形验证码的作用和原理

作用:图形验证码的主要作用是强制进行人机交互,以此来抵御机器自动化攻击,可以防止恶意激活成功教程密码、刷票、论坛灌水,有效防止黑客对某一个特定注册用户用特定程序暴力激活成功教程进行不断的登陆尝试。

原理:图形验证码的问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

图形验证码的分类

图形验证码是现在大多数网站登录通行的方式。不同的网站,由于其安全级别不一样,网站开发人员掌握的技术不一样,使用的图形验证码的种类也不一样。大体上,图形验证码可以分为以下几类:

  • 传统图形验证码
  • 广告型的图形验证码
  • 滑动验证码
  • 图标选择与行为辅助验证码
  • 点击式的图文验证与行为辅助
  • 智能验证码
  • 语音验证码

传统图形验证码 主要是通过用户输入图片中的字母、数字、汉字等进行验证。 代表:大多数网站采用此种验证形式。 特点:简单易操作,人机交互性较好。但安全系数低,容易被激活成功教程。

广告型的图形验证码 有精美图案,识别文本也清晰可认,专注于广告。 代表:Solve Media,宇初验证码 特点:与其说是验证码,倒不如说是广告位。

滑动验证码 按要求将备选碎片滑动到正确的位置,或者滑动图标到末尾 代表:极验验证码 特点:操作简单,体验好。单一纬度,容易被逆向模拟,与移动端页面切换不兼容。

图标选择与行为辅助 给出一组图片,按要求点击其中指定的一张或者多张图片。 代表:点触验证码、Google新型验证码、12306验证码 特点:安全性强,对于图片、图库、技术要求高。

点击式的图文验证与行为辅助 通过文字提醒用户点击图中相同字或者相同图标的位置进行验证。 代表:淘宝新型验证码、点触验证码 特点:操作简单,体验良好,单一图片区域较大,激活成功教程难度大。

智能验证码 通过行为特征、设备指纹、数据风控等技术,正常用户免验证,异常用户强制验证 代表:点触智能验证码,支付宝验证码 特点:简单便捷,区分人与机器、人与人、设备与设备

语音验证码 通过机器客服给你打电话,告诉你验证码 代表:滴滴验证码,易到验证码 特点:需要接听客服电话,体验较差,无法激活成功教程

图形验证码的验证过程

  • 我们访问一个网站的登录页面
  • 服务器端响应并创建一个新的Session ID,同时生成一个随机图形验证码,服务器端有该Sessino ID对应图形验证码的答案
  • 服务器端将该Session ID和图形验证码发送给客户端
  • 客户端填写登录表单,并且填入该图形验证码的答案
  • 服务器端收到用户提交的登录数据,取出Session ID与图形验证码的答案,并且与服务器端相同Session ID的图形验证码答案做比较,如果相同,再判断提交表单的用户名,密码等其他信息。如果图形验证码错误,随即返回验证码错误

注意:这里需要注意的是,Session ID销毁的条件是用户提交的图形验证码和用户名密码等其他信息正确,即登录成功,或者是用户手动刷新验证码

图形验证码的安全问题

既然图形验证是用来抵御机器自动化攻击,防止恶意激活成功教程密码、刷票、论坛灌水,防止黑客攻击等威胁的一种手段。道高一尺魔高一丈,那么恶意用户肯定会想方设法去绕过或激活成功教程图形验证码,来达到其恶意的目的。图形验证码面临的安全问题来自多方面的,既有客户端的问题,也有服务器端的问题,也有验证码本身的技术问题。

客户端的安全问题

  1. 客户端生成验证码,验证码由客户端生成并且仅仅在客户端用验证
  2. 验证码输出在响应包中
  3. 验证码输出在cookie中

服务端的安全问题

  1. 验证码不过期,没有及时销毁Session ID会话导致验证码重复使用
  2. 没有进行非空判断
  3. 产生的验证码内容集内的答案非常有限,导致可以被制作成字典

验证码技术安全问题

比如现在很多类型的图形验证码已经可以通过技术手段识别绕过了,识别图形验证码是计算机科学里的一项重要课题,涉及到计算机图形学,机器学习,机器视觉,人工智能等高深领域。

静态图形验证码的激活成功教程

图片灰度化和图片二值化

传送门——> https://blog.csdn.net/qq_36119192/article/details/86012022

文字分隔

为了能识别出字符,需要对要识别的文字图图片进行分割,把每个字符作为单独的一个图片看待

标准化

对于部分特殊的验证码,需要对分割后的图片进行标准化处理,也就是说尽量把每个相同的字符都变成一样的格式,减少随机的程度,最简单的比如旋转还原,复杂点的比如扭曲还原等等

识别

这一步可以用很多种方法,最简单的就是模板对比,对每个出现过的字符进行处理后把点阵变成字符串,标明是什么字符后,通过字符串对比来判断相似度

最好的识别算法,就是神经网络,神经网络是一种模拟动物神经元工作模式的算法,神经网络有多种不同的结构,但是基本架构分为输入层隐含层输出层,输入和输出均为二进制。

利用Python脚本激活成功教程静态图形验证码

Python中有很多封装好的神经网络库,把特征值输入神经网络,再输入是对应的什么字符,也就是训练的过程,随着训练的进行,神经网络的内部结构会改变,逐渐向正确的答案靠拢。神经网络的优势是,对于扭曲的字符识别成功率非常高。另外神经网络在信息安全中还可以起到很多其他作用,比如识别恶意代码等等

未完待续。。。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159135.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
验证码的作用,为什么要存在验证码[通俗易懂]
1、在WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是“身份欺骗”,它通过在客户机端脚本写入一些代码,然后利用它,客户机在网站、论坛反复登录
全栈程序员站长
2022/09/06
2.3K0
再论验证码安全:请及时销毁你的验证码
我在上一篇文章中讲到了如何使用C#模拟用户登录具有验证码网站。今天我就换位思考一下,站在网站开发人员的角度讲一讲验证码的的一个安全问题:及时销毁网站中的验证码。
深蓝studyzy
2022/06/16
5920
黑产用“未来武器”破解验证码,打码小工都哭了
当我们正讨论如何用AI推动产业升级、改变未来生活时,不法分子也在研究AI技术,并通过各种手段非法牟利。近日,腾讯守护者计划安全团队协助警方打掉市面上最大打码平台“快啊答题”,挖掘出一条从撞库盗号、破解验证码到贩卖公民信息、实施网络诈骗的全链条黑产。而在识别验证码这一关键环节,黑产竟已用上AI人工智能技术。该团伙运用AI技术训练机器,极大提升了单位时间内识别验证码的数量,2017年一季度打码量达到259亿次,且识别验证码的精准度超过80%。借此案件,我们也深入研究AI打码平台黑产领域,对其犯罪模式进行剖析。
FB客服
2018/02/28
3.1K0
黑产用“未来武器”破解验证码,打码小工都哭了
互联网应用常见验证码技术一览
原理:向服务端请求,生成随机的字符,写入会话请求,同时将随机字符生成对应图片,响应给前端;前端输入对应字符的验证码,向后台发起校验。
MavenTalker
2019/07/19
2.3K0
互联网应用常见验证码技术一览
干货 | 图形验证码在携程的实践之路
作者简介 闵杰, 携程信息安全部产品经理。2015年加入携程,主要负责黑产防刷,验证码,反爬以及UGC方面的产品设计,关注在低成本的前提下,解决以上场景的实际问题。 从互联网行业出现自动化工具开始,验证码就作为对抗这些自动化尝试的主要手段登场了,在羊毛党,扫号情况层出不穷的今天,验证码服务的水平也直接决定一家互联网企业的安全系数。作为WEB看门人,它不仅仅要做到安全,也要兼顾体验。 本文将分享携程信息业务安全团队在这几年里,对图形验证码服务所做的一些大大小小的改变。各位可以将本文作为自身网站图形验证码搭建的
携程技术
2018/03/16
2.1K1
干货 | 图形验证码在携程的实践之路
登陆网站时验证码有什么作用
没有验证码登陆,黑客会更加容易激活成功教程你的账号,通过组合码刷机等黑客技术来破取你的密码,有了验证码相当于加了一层很厚的屏障,安全系数很高。   验证码是一种区分用户是计算机和人的公共全自动程序。   验证码作用:可以防止恶意激活成功教程密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力激活成功教程方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区),利用比较简易的方式实现了这个功能。
全栈程序员站长
2022/09/14
7260
Tornado框架实现图形验证码功能
图形验证码是项目开发过程中经常遇到的一个功能,在很多语言中都有对应的不同形式的图形验证码功能的封装,python 中同样也有类似的封装操作,通过绘制生成一个指定的图形数据,让前端HTML页面通过链接获取到对应的图片验证码进行操作。
周小董
2019/03/25
2.9K1
Tornado框架实现图形验证码功能
Django实现验证码
Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证码. 防论坛灌水:这个是很常见的。有一种程序叫做顶帖机,如果无限制的刷,整个论坛可能到处是拉圾信息,比如,百度贴吧 ,你只要是新用户或者刚刚关注的贴吧,要是发帖,会马上出现验证码。 有效防止注册,以防,使用程序或机器人去无限制注册账号. 防刷票,网上有很多投票类的网站. 2. 验证码的原理 验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端
若与
2018/04/25
1.6K0
Django实现验证码
ASP.NET-实现图形验证码
​ASP.NET 实现图形验证码能够增强网站安全性,防止机器人攻击。通过生成随机验证码并将其绘制成图像,用户在输入验证码时增加了人机交互的难度。本文介绍了如何使用 C# 和 ASP.NET 创建一个简单而有效的图形验证码系统,包括生成随机验证码、绘制验证码图像以及将图像输出到客户端等步骤。这种验证码系统对于保护网站免受恶意攻击和机器人恶意行为具有重要意义。
Damon小智
2024/02/25
3120
ASP.NET-实现图形验证码
为什么Web端登录需要验证码?
很多朋友们对于登录必然遇到的验证码这个事情很不理解,增加用户操作的冗余性,直接登录很方便,为什么web端登录要添加个验证码?直到上周,一家做业务安全的公司给出我们现在Web网站的安全报告,我才意识到:验证码的本质属性安全性,除了防止恶意破解密码、刷票、羊毛党、论坛灌水、爬虫等行为外,还是用户与网站信息安全的有力保障。
问题先森
2020/08/07
1.7K0
验证安全2.0时代:极验验证码评测
*本文属“WitAwards 2016年度安全评选”专题报道,未经许可禁止转载 验证码的英文是CAPTCHA,其全称为Completely Automated Public Turing test to tell Computers and Humans Apart,翻译过来就是全自动区分计算机和人类的公开图灵测试。 可见验证码的存在是为了区分人和机器的操作行为,从而进行分类管理。从应用方面来看,验证码可以杜绝撞库攻击,暴力注册,垃圾评论,非法爬虫,刷票投票和恶意抢购等行为。从出发点来看,验证码对改善互联网
FB客服
2018/02/09
4.1K0
验证安全2.0时代:极验验证码评测
使用C#登录带验证码的网站
我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法。
深蓝studyzy
2022/06/16
1.4K0
使用C#登录带验证码的网站
网络验证码的进化:从简单图文到无感验证
2018年全国硕士研究生招生考试预报名的第一天,成都大学的一名大四女生,在网上报名时,竟出现了“别考”字样的验证码,同时在验证码上边显示一行红字:您输入的用户名或密码有误。专门负责全国研究生报名的“中国研究生招生信息网”相关负责人回应说,验证码出现“别考”字样纯属巧合。
问题先森
2020/07/29
1.5K0
PHP对验证码的认证过程
    这段时间在写php脚本,接触到web前端以及web安全问题比较多,这时给大家简单地谈一下我们网站验证码的验证过程及其安全问题。
phith0n
2020/10/16
2.7K0
PHP对验证码的认证过程
使用Java制作验证码
  验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个***对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。卡内基梅隆大学曾试图申请此词使其成为注册商标, 但该申请于2008年4月21日被拒绝。一种常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字,也就是图文验证码,扭曲变形是为了避免被光学字符识别(OCR, Optical Character Recognition)之类的电脑程序自动辨识出图片上的文数字而失去效果。由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。为了无法看到图像的身心障碍者,替代的方法是改用语音读出文数字,为了防止语音辨识分析声音,声音的内容会有杂音,这种就是手机语音验证码,通过拨打手机的方式告诉用户验证码是什么。
端碗吹水
2020/09/23
1.4K0
使用Java制作验证码
Python爬虫之极验滑动验证码的识别
上节我们了解了可以直接利用 tesserocr 来识别简单的图形验证码。近几年出现了一些新型验证码,其中比较有代表性的就是极验验证码,它需要拖动拼合滑块才可以完成验证,相对图形验证码来说识别难度上升了几个等级。本节将讲解极验验证码的识别过程。
仲君Johnny
2024/02/22
9220
Python爬虫之极验滑动验证码的识别
Java制作数字加减法验证码
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。 防止恶意破解密码、刷票、论坛灌水、刷页。
GeekLiHua
2025/01/21
930
Java制作数字加减法验证码
自动滑块验证码识别_滑块验证码原理
有爬虫,自然就有反爬虫,就像病毒和杀毒软件一样,有攻就有防,两者彼此推进发展。而目前最流行的反爬技术验证码,为了防止爬虫自动注册,批量生成垃圾账号,几乎所有网站的注册页面都会用到验证码技术。其实验证码的英文为 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart),翻译成中文就是全自动区分计算机和人类的公开图灵测试,它是一种可以区分用户是计算机还是人的测试,只要能通过 CAPTCHA 测试,该用户就可以被认为是人类。由此也可知道激活成功教程滑块验证码的关键即是让计算机更好的模拟人的行为,这也是激活成功教程的难点所在。(注:本文18年所作,仅作参考)
全栈程序员站长
2022/11/18
3.8K0
自动滑块验证码识别_滑块验证码原理
更安全的验证码=AIGC+集成环境信息检测!
黑灰产将各种方式窃取账号密码导入批量登录软件,登录软件自动尝试账号登录。邮箱服务器检测到异常登录请求,会下发验证码进行安全验证,但是黑灰产能够自动破解简单验证码,完成撞库登录过程。整个过程完全自动化操作,无需人工干预,就这样,用户的大批账号就被冒名登录了。
顶象技术
2023/08/03
3510
更安全的验证码=AIGC+集成环境信息检测!
WEB安全新玩法 [6] 防范图形验证码重复使用
在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施。为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码。iFlow 业务安全加固平台可以加强这方面的处理。
天存信息
2021/06/30
1.1K0
WEB安全新玩法 [6] 防范图形验证码重复使用
相关推荐
验证码的作用,为什么要存在验证码[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档