
01.介绍
1.1 验证码漏洞
顾名思义,验证码漏洞就是验证码本身存在问题,或者是与验证码相关的内容存在问题。
1.2 验证码作用
客户端发起请求-> 服务端响应并创建一个新的 SessionID 同时生成随机验证码,将验证码和 SessionID 一并返回给客户端-> 客户端提交验证码连同 SessionID 给服务端-> 服务端验证验证码同时销毁当前会话,返回给客户端结果。
1.3 验证码漏洞分类
● 短信验证码
● 短信验证码可爆破–针对用户找回密码
● 短信验证码可重复使用
● 短信验证码回显本地
● 短信验证码绕过
● 登录访问验证码
● 验证码重复使用
● 机器学习识别验证码
02.应用
2. 1 验证码可重复使用
http://10.211.55.17:82/system/

http://10.211.55.17:81/admin/

在这里可使用 burpsuite 进行暴力破解,验证码会一直不变,可以重复使用。
2.1 验证码可绕过
2.1.2 基于表单的暴力破解
没有防护,直接进行暴力破解即可
以下都是使用 pikachu 的靶场来进行测试

2.1.1 验证码绕过(on server)
这里只开启了 session 但并没有关闭,所以可以重复使用验证码

直接用 bp 抓包之后发送到爆破模块进行测试

2.1.3 验证码绕过(on client)
法 1 删除 js 模块
这里使用了 js 进行验证码的验证,因此可以使用 bp 抓取验证码之后删除该模块

删除


直接进行暴力破解

法 2 禁用 js 模块
● 火狐禁用 js:about:config

刷新界面,即可绕过验证码

3. 验证码识别工具 pkavhttpfuzzer
1. 验证码识别:phpwms1.1.2GBK cms
搭建环境:
windows7
phpstudy PHP 版本 5.2.17
phpwms1.1.2GBK cms 源代码
在 url 中打开地址即可安装
http://10.211.55.9/phpwms1.1.2GBK/install/

搭建之后即可进行入后台和前台页面

这里使用右键在新界面打开这个验证码
http://10.211.55.9/phpwms1.1.2GBK/include/chkcode.inc.php

使用 pkavhttpfuzzer 这个工具来进行识别测试
首先还是需要使用 bp 抓一个包

将内容传到 pkavhttpfuzzer 中去,分别添加标记

到验证码识别模块,对识别范围和字符进行自定义

当输入验证码正确,但是密码或账户信息错误的时候会返回

当输入验证码错误的时候会返回

因此在软件里面如下设置:
● 设置无条件跟踪重定向,长度固定为 4 位

● 匹配规则中在正则表达式输入:用户名或密码不正确

● 在重试规则中添加 验证码错误

回到变体设置模块,添加一个外部字典

直接在发包器进行测试,爆破成功

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

本文探讨了验证码漏洞的多种类型,如可重复使用、绕过攻击,以及利用工具如burpsuite、pikachu靶场和pkavhttpfuzzer进行破解的实例。展示了如何通过删除js模块、禁用js和验证码识别工具来突破验证码。重点介绍了pkavhttpfuzzer在phpwms1.1.2GBKcms中的应用和设置。
1599

被折叠的 条评论
为什么被折叠?



