如何设计相对安全的图形验证码?

图形验证码(CAPTCHA)用于区分人与机器,防止恶意自动化操作。常见的安全问题包括验证码在返回包中泄露、前端生成、验证后不失效等。设计安全验证码需考虑配置其字符集、长度、复杂度,并确保唯一性、不可预测性。验证时应先校验验证码,再进行其他认证步骤。避免万能验证码和忽略验证。
摘要由CSDN通过智能技术生成

今天,我将结合自己以往在安全测试方面的一些经验,简单的分享一下图形验证码相关的安全问题,要回答上面这个问题,我们需要先了解一些关于图形验证码的基本知识。

 

验证码是什么?

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

 

它有什么作用呢?

简单概括如下:

验证码在网络投票、交友论坛、网上商城等业务中,经常用来防止恶意用户侵入、恶意灌水、刷票,爆破、撞库、接口滥用等问题,为防止客户端用程序进行自动识别,因此图片中通常要加上一些干扰象素,由用户肉眼识别其中的验证码信息。客户输入表单提交时,验证码也提交给网站服务器,只有验证成功,才能执行相应的操作,其在Web安全中有着重要的应用。   
好了,废话不多说,为了回答我们最初的问题,我们必须要知道图形验证码在设计和使用中有哪些坑,哪些地方容易出问题。

 

列举一些在安全测试中发现的设计和使用上的安全问题

供大家参考(欢迎大家补充,指正)

  • 设计或使用方法不当:
    0x01:图形验证码数值在返回包中返回前端(可通过自动化程序输入验证码,导致验证码无效,导致防护失效)
    0x02:图形验证码的值由前端生成,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值