小议验证码的安全性及如何绕过
  

刘病已 1835

{{ttag.title}}

一、什么是验证码?

CAPTCHA是(全自动区分计算机和人类的图灵测试)的简称,是用于区分计算机和人类的一种程序算法,这种程序必须能生成并评价人类能很容易通过但计算机却通不过的测试。

像我们平时最常遇到的,就是基于图片的验证码。这类图片验证码通常包含的,都是些易于用户识别简单的验证信息。如下图所示。用户必须准确的识别图像内的字符,并以此作为人机验证的答案,方可通过验证码的人机测试。相反如果验证码填写错误,那么验证码字符将会自动刷新并更换一组新的验证字符,直到用户能够填写正确的验证字符为止。

二、验证码的重要性

1. 防止与认证相关的攻击行为

以下列举的是一些较易受到暴力攻击的点。例如:

  • 登录:一旦缺少验证码的保护,攻击者则很可能通过暴力破解的方式非法接管用户账户。
  • 忘记密码:如果网络应用程序使用详细消息响应帐户存在或不存在,那么攻击者则可以进行用户名的枚举。
  • 注册:程序批量创建垃圾账户。此外还可以进行用户名的枚举。(正常情况下没有应用程序会允许用户,同时注册两个相同用户名的账号)

2. 避免垃圾邮件和DOS

我们知道很多网站都有提交表单的功能,并需要由站点管理员审核通过。例如:会员申请,联系我们,反馈表,调查表等。这些功能都需要验证码的保护,如果不加以防护那么将会导致以下情况的出现:

  • 大量的垃圾表单可能产生,不仅会影响网站的访问速度,还会加大站点管理员的工作量,而且一些合法用户的请求,也可能会因此被拒绝。
  • 电子邮件轰炸:一些功能可以发送电子邮件到一个任意的邮件地址。如果没有得到有效的验证保护,那么恶意攻击者则可以利用程序,向特定的目标发送大量的垃圾邮件。

3. 保护数据挖掘机器人

  • 某些包含大量数据的站点极易遭受数据挖掘攻击,因此它们也需要验证码的保护。例如:社交网络和搜索引擎。

三、验证码为什么能被绕过?

验证码被绕过,有以下两个原因:

  • 设计问题
  • 执行问题

在以下的内容,我将会带大家认识到这两个问题所在。以及如何解决这些问题,建立更为安全的人机验证。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

随即用户 发表于 2019-5-16 19:17
  
出来混脸熟来了
新手494742 发表于 2019-5-17 00:14
  
出来混脸熟来了
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
技术咨询
功能体验
干货满满
新版本体验
2023技术争霸赛专题
标准化排查
产品连连看
GIF动图学习
信服课堂视频
自助服务平台操作指引
运维工具
技术晨报
通用技术
安装部署配置
每日一记
用户认证
秒懂零信任
安全攻防
云计算知识
SDP百科
设备维护
深信服技术支持平台
答题自测
sangfor周刊
资源访问
社区帮助指南
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
迁移
玩转零信任
山东区技术晨报
地址转换
虚拟机
存储
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

SANGFOR...

本周分享达人