Web 攻防之业务安全:不安全验证码 测试
验证码安全 也可以叫《全自动区分计算机和人类的图灵测试》,是一种区分用户是计算机还是人的共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水。可以有效防止黑客对某一个特定用户用特定程序暴力破解方式进行不断的登陆尝试。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用产就可以被认为是人类.
目录:
验证码的认证流程:
验证码 作用:
验证码 分类:
验证码安全 问题:
不安全验证码测试 步骤:
(1)在登录的页面输入账号,然后随便输入一个密码.
(2)用 Burp 抓一下包,然后把数据包复制到验证码爆破工具里面去.
(3)添加 账号 和 密码 的标记,还有导入字典.
(4)设置验证码 的识别.
(5)设置 重放选项.
(6)进行 爆破.
(7)拿爆破的 账号 和 密码 进行登录.(登录成功.)
修改建议:
免责声明:
严禁利用本文章中所提到的工具和技术进行非法攻击,否则后果自负,上传者不承担任何责任。
验证码的认证流程:
客户端请求登录页面,后台生成验证码:
(1)后台使用算法生成图片,并将图片发送给客户端.
(2)同时将算法生成的值全局赋值存到SESSION中.
校验验证码∶
(1)客户端将认证信息和验证码一同提交.
(2)后台对提交的验证码与SESSION里面的进行比较.
客户端重新刷新页面,再次生成新的验证码:
验证码算法中一般包含随机函数,所以每次刷新都会改变.
验证码 作用:
(1)防止 恶意破解密码、刷票、论坛灌水,刷页.
(2)可以有效防止黑客对某一个特定用户用特定程序暴力破解方式进行不断的登陆尝试.
验证码 分类:
(1)动画验证码 (2)手机短信验证码 (3)手机语言验证码
(4)视频验证码
验证码安全 问题:
1.客户端问题:(1)使用前端JS代码实现验证码 (2)验证码输出在 html 中.(3)验证码输出在 cookie 中
2.服务端问题:(1)验证码不过期,没有及时销毁会话导致验证码复用这个验证码.(2)没有进行非空判断.
3.其他类型验证码绕过(" 调试功能 " 还是设计缺陷 ?)
4.验证码太简单,容易被机器识别.
5.爆破验证码.
靶场:
靶场源码 链接:/s/1GpXUdy9KPJRJpvIeKRo3bg
提取码:tian
工具下载:
验证码爆破工具 链接:/s/1ZH5eUlMZnUoQPrecN0ZM4w
提取码:tian
不安全验证码测试 步骤:
(1)在登录的页面输入账号,然后随便输入一个密码.
(2)用 Burp 抓一下包,然后把数据包复制到验证码爆破工具里面去.
(3)添加 账号 和 密码 的标记,还有导入字典.
(4)设置验证码 的识别.
(5)设置 重放选项.
(6)进行 爆破.
(7)拿爆破的 账号 和 密码 进行登录.(登录成功.)
修改建议:
(1)强制要求输入验证码,否则 必须实施IP策略(注意不要被 X-Forwarded-For 绕过了!)
(2)验证码只能用一次,用完立即过期!不能再次使用了.
(3)验证码不要太弱(要使用 扭曲、变形、干扰线条、干扰背景色、变换字体等.)
(4)大网站最好统一安全验证码,各处使用同一个验证码接口.
参考链接:Web安全 验证码绕过_哔哩哔哩_bilibili
如果觉得《Web 攻防之业务安全:验证码自动识别 测试.》对你有帮助,请点赞、收藏,并留下你的观点哦!