注意:开始阅读时候不要急慢慢阅读,做的很详细,新手也能看得懂
原理:客户端发起请求->服务端响应并创建一个新的SessionID同时生成随机验证码,将验证码和SessionID一并返回给客户端->客户端提交验证码连同SessionID给服务端->服务端验证验证码同时销毁当前会话,返回给客户端结果。
实验环境pikachu 工具burp
1.基于表单的暴力破解 burp抓包直接获取
2.将包发给intruder测试模块进行测试 配置好选项
3.添加字典 选择有效负载集 直接进行攻击
4.爆破结束,查看长度,长度不一样的则为账号密码
验证码绕过 当前验证使用无次数限制
1.账号密码不知道便输入,验证码知道输入
2.点击登录进行抓包
3.分析数据包结构发给Repeater重定向 将验证码删除 的到返回包,验证码不能为空,修改验证码发现验证码错误,无法请求,所以可以推测验证码既要输入,也要输入正确
4.判断新验证码是否会覆盖掉旧验证码,在前台刷新验证码
5.在填入了原来的验证码显示验证码错误说明新验证码会覆盖掉旧的验证码
6.再次测试当前验证码使用次数限制 用户密码均为ffff 修改用户名密码
7.修改为2222,发送运行结果显示用户名不存在,但是没有提示验证码错误,由上可知,当前验证码可以被重复使用
8.既然验证码可以被无限制重复利用,则可以进行爆破,进行无差别攻击,接着进行爆破处理,将数据包发送给intruder 进行变量选中添加
9.进行字典添加 添加完之后进行攻击
10.最后成功获取了账号密码,验证绕过成功
注:如果第一次失败,可能是因为验证码输入错误,多试验几次。
验证码绕过on client\
1.有了上面一种类型的经验,这次直接照常输入
2.登录进行抓包
直接发送给repeater(重发器)进行重发
3.正常发送显示用户密码不存在,很正常,因为用户名密码本来就是不存在的是我随便输入的
4.当我将验证码删除的时候可疑的事情就发生的 还是显示用户名密码不存在,再次测试将验证码输入错误,还是显示用户名密码不存在,从这可以分析出验证码其实就是个摆设。
5.再次查看了当前源码,发现是利用js制作的前端验证码,很容易被绕过。
6.既然发现验证码没什么用,那么就可以直接爆破了
7.还是和直接一样 在payloads 中 添加字典 接着进行爆破
爆破之后发现密码
注意:如果果一次没有爆破成功可以多爆破几次。微信公众号 天银安全 回复XSS 获取免费资料视频
今天真是美好的一天,而我却收不到关注