网站安全检测(域名解析在线)
在网站安全的整体安全检测中,用户登录、用户留言、评论、支付密码设置以及一些网站功能都会用到图片验证码。对于验证码,我们SINE Security已经进行了详细的网站安全检测和图片验证码安全防护,下面会给大家详细讲解。验证码的种类很多,其中图片形式的验证码是目前网站上使用最多的,一些短信验证码、手机语言验证码、回答验证码都是网站使用的验证码。今天主要给大家讲解一下图片验证码。
首先我们要知道图片验证码是什么,英文叫‘验证码’。它的作用是防止用户恶意登录网站并暴力破解,防止一些恶意用户反复攻击网站,如留言、评论、点击、刷票、试图用弱密码登录用户账户等。针对这些网站攻击,图片验证码可以很好地防止恶意攻击。
图像验证码生成的流程,我们来看看这个图:
首先用户会请求这个图像验证码,第一时间会在数据库中生成一个对应的会话值,然后会返回一个图片验证码给用户。当客户看到图片中的验证码时,他会手动输入并点击登录,验证码会被第二次请求到服务器。收到请求后,服务器后端会进行安全比较。与数据库中的会话相比,如果值相同,则判断验证码成功;否则,如果它是错误的,第一次保存的会话值将被删除,以防止机器人暴力猜测它。因为验证码是唯一的,只能验证一次,多次验证都会失败。
我们的SINE安全在网站的验证码上会有很多安全隐患和漏洞。最常见的是网站验证码的复用,会导致攻击者复制复用一个验证码,然后暴力破解用户的账号密码。攻击的特点是POST数据中的会话值不变,验证码不变,唯一变化的是用户的账号和密码。
图片验证码默认配置导致存储位置泄露。造成该验证码漏洞的主要原因是session的值被写入网站文件目录,部分cookies被写入图片文件。验证码的另一个缺陷是,验证码比对后会再次比对,导致连续的逻辑运算和对验证码的重复请求,导致整个验证码比对失败。
在检查其他网站的验证码安全性时,我们也在验证码中发现了一个安全问题。验证验证码后,验证码未被删除,导致重复使用。我们应该在验证码验证时返回MD5值,每个请求返回的方式不同,防止用户密码被暴力破解。
甚至有些网站使用的图像验证码会被软件自动识别,有些图像识别技术使用一些第三方资源,会识别图片中的字母并自动填入输入框,可以暴力破解。
验证码的安全防护和漏洞修复方案
对验证码的安全老化时间进行安全限制,一般将过期时间限制在30秒到50秒之间。对多个验证码请求同时对同一个IP实施安全保护,将请求次数限制在1分钟或10分钟以内。用图片验证码对图片进行噪点渲染,防止图片被OCR自动识别。