在对网站安全进行整体的安全检测的时候,用户登陆以及用户留言,评论,设置支付密码
,以及一些网站功能方面都会用到图片验证码,针对于验证码我们SINE安全对其进行了详细的网
站安全检测,以及图片验证码安全防护方面,都会详细的跟大家讲解一下。验证码分很多种,图
片形式的验证码是目前网站用的最多的,还有一些短信的验证码,手机语言验证码,答题验证码,
都是属于网站所用到的验证码,今天主要跟大家讲解的就是图片验证码。
首先要了解一下什么是图片验证码,英文叫"CAPTCHA",其作用就是防止用户对网站进行恶意的登
陆以及暴力破解,防止一些恶意的用户对网站进行多次的重复性的攻击,比如:留言,评论,点击
,刷票,尝试性的用弱口令去登陆用户的账号,针对这些网站攻击,图片验证码很好的进行了阻止
,防止了恶意攻击。
陆以及暴力破解,防止一些恶意的用户对网站进行多次的重复性的攻击,比如:留言,评论,点击
,刷票,尝试性的用弱口令去登陆用户的账号,针对这些网站攻击,图片验证码很好的进行了阻止
,防止了恶意攻击。
图片验证码生成的流程,我们来看下这个图:
首先用户会去请求这个图片验证码,第一次会在数据库里生成一个相应的session值,然后返回给
用户一个图片验证码,客户看到图片里的验证码,会手动录入进去,并点登陆,验证码会第二次
的请求到服务器中,服务器后端收到请求后会进行安全对比,与数据库里的session进行比对,如
果值是一样的,那么就会判定验证码成功,反之如果不对那么就会把第一次保存的session值进行
删除操作,防止机器人对其进行暴力的猜解,因为验证码唯一,只能验证一次,多次验证就会失
效。
用户一个图片验证码,客户看到图片里的验证码,会手动录入进去,并点登陆,验证码会第二次
的请求到服务器中,服务器后端收到请求后会进行安全对比,与数据库里的session进行比对,如
果值是一样的,那么就会判定验证码成功,反之如果不对那么就会把第一次保存的session值进行
删除操作,防止机器人对其进行暴力的猜解,因为验证码唯一,只能验证一次,多次验证就会失
效。
我们SINE安全在对网站验证码安全检测的同时,会出现很多安全方面的隐患,以及验证码的漏洞,
比较常出现的就是网站的验证码重复利用漏洞,该验证码漏洞可以导致攻击者对其复制,重复使用
一个验证码,进而对用户的账号密码进行暴力破解。攻击的特征是POST数据里的session值不变,
以及验证码也不变,唯一变的就是用户的账号以及密码。
比较常出现的就是网站的验证码重复利用漏洞,该验证码漏洞可以导致攻击者对其复制,重复使用
一个验证码,进而对用户的账号密码进行暴力破解。攻击的特征是POST数据里的session值不变,
以及验证码也不变,唯一变的就是用户的账号以及密码。
图片验证码的默认配置导致存放位置被泄露,这个验证码漏洞的产生原因主要是把session这个值
写到了网站文件目录里,以及一些cookies值都会写到图片文件里。另外一种验证码的漏洞是验证
码在对比后,会再进行一次对比,导致不停的进行逻辑运算,多次的请求验证码,会导致整个验证
码对比失败。
写到了网站文件目录里,以及一些cookies值都会写到图片文件里。另外一种验证码的漏洞是验证
码在对比后,会再进行一次对比,导致不停的进行逻辑运算,多次的请求验证码,会导致整个验证
码对比失败。
在对其他网站进行验证码安全检测时,也发现了一种验证码上的安全问题,验证验证码后,并没有
将验证码删除,导致可以重复使用,应该对其验证码效验的时候进行返回MD5值,每个请求的返
回都不相同,防止用户密码遭到暴力破解。
将验证码删除,导致可以重复使用,应该对其验证码效验的时候进行返回MD5值,每个请求的返
回都不相同,防止用户密码遭到暴力破解。
甚至目前有些网站使用的图片验证码都会遭到软件的自动识别,有些图片识别技术使用的是一些第
三方的资源,会对图片里的字母进行识别并自动填入到输入框中,可以对其进行暴力破解。
三方的资源,会对图片里的字母进行识别并自动填入到输入框中,可以对其进行暴力破解。
针对于验证码安全的防护以及漏洞修复方案
对验证码的安全时效时间进行安全限制,一般限制30秒或者50秒之间失效,对于同一IP在同一时
间进行多次的验证码请求频率上做安全防护,限制1分钟请求的次数或者是10分钟内的请求次数
。对于图片验证码的图片进行噪点渲染,防止图片被团建OCR自动识别。
间进行多次的验证码请求频率上做安全防护,限制1分钟请求的次数或者是10分钟内的请求次数
。对于图片验证码的图片进行噪点渲染,防止图片被团建OCR自动识别。