前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站漏洞修复之图片验证码的详细修复方案

网站漏洞修复之图片验证码的详细修复方案

原创
作者头像
技术分享达人
修改2019-05-05 18:03:10
1.9K0
修改2019-05-05 18:03:10
举报

在对网站安全进行整体的安全检测的时候,用户登陆以及用户留言,评论,设置支付密码,以及一些网站功能方面都会用到图片验证码,针对于验证码我们SINE安全对其进行了详细的网站安全检测,以及图片验证码安全防护方面,都会详细的跟大家讲解一下。验证码分很多种,图片形式的验证码是目前网站用的最多的,还有一些短信的验证码,手机语言验证码,答题验证码,都是属于网站所用到的验证码,今天主要跟大家讲解的就是图片验证码。

首先要了解一下什么是图片验证码,英文叫"CAPTCHA",其作用就是防止用户对网站进行恶意的登陆以及暴力破解,防止一些恶意的用户对网站进行多次的重复性的攻击,比如:留言,评论,点击,刷票,尝试性的用弱口令去登陆用户的账号,针对这些网站攻击,图片验证码很好的进行了阻止,防止了恶意攻击。

图片验证码生成的流程,我们来看下这个图:

首先用户会去请求这个图片验证码,第一次会在数据库里生成一个相应的session值,然后返回给用户一个图片验证码,客户看到图片里的验证码,会手动录入进去,并点登陆,验证码会第二次的请求到服务器中,服务器后端收到请求后会进行安全对比,与数据库里的session进行比对,如果值是一样的,那么就会判定验证码成功,反之如果不对那么就会把第一次保存的session值进行删除操作,防止机器人对其进行暴力的猜解,因为验证码唯一,只能验证一次,多次验证就会失效。

我们SINE安全在对网站验证码安全检测的同时,会出现很多安全方面的隐患,以及验证码的漏洞,比较常出现的就是网站的验证码重复利用漏洞,该验证码漏洞可以导致攻击者对其复制,重复使用一个验证码,进而对用户的账号密码进行暴力破解。攻击的特征是POST数据里的session值不变,以及验证码也不变,唯一变的就是用户的账号以及密码。

图片验证码的默认配置导致存放位置被泄露,这个验证码漏洞的产生原因主要是把session这个值写到了网站文件目录里,以及一些cookies值都会写到图片文件里。另外一种验证码的漏洞是验证码在对比后,会再进行一次对比,导致不停的进行逻辑运算,多次的请求验证码,会导致整个验证码对比失败。

在对其他网站进行验证码安全检测时,也发现了一种验证码上的安全问题,验证验证码后,并没有将验证码删除,导致可以重复使用,应该对其验证码效验的时候进行返回MD5值,每个请求的返回都不相同,防止用户密码遭到暴力破解。

甚至目前有些网站使用的图片验证码都会遭到软件的自动识别,有些图片识别技术使用的是一些第三方的资源,会对图片里的字母进行识别并自动填入到输入框中,可以对其进行暴力破解。

针对于验证码安全的防护以及漏洞修复方案

对验证码的安全时效时间进行安全限制,一般限制30秒或者50秒之间失效,对于同一IP在同一时间进行多次的验证码请求频率上做安全防护,限制1分钟请求的次数或者是10分钟内的请求次数。对于图片验证码的图片进行噪点渲染,防止图片被团建OCR自动识别。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档