文章目录

好久没写博客了,又犯懒了,哈哈,前阵子通过统计数据发现验证码有被刷的嫌疑,这几天发现了问题所在。复制cookie信息绕过 验证码 校验的问题

1
主要问题原因:图片验证码参与cookie,注册成功后,session未过期前,验证码未清除,因此,在session过期前,可以绕过验证码进行注册

第一部分:burp suite安装

  1. 安装前提:java环境:jdk+配置环境变量
  2. 下载破解版burp suite,并解压后得到两个jar包,放在c盘根目录下,如下图:

  1. 在c盘根目录下,执行java命令打开软件_注意安装java环境,如下图
1
cd /
1
java -jar burpsuite-1.4.07.jar

执行java命令打开软件_注意安装java环境

  1. 进入burp suite主界面,如图:

第二部分:设置浏览器代理

  1. 查看burp suite代理端口,proxy-options,这里钩钩表示可以使用,如果端口被占用,需要更换未被占用端口(以80开头)

  1. 浏览器设置代理(IE或谷歌或火狐都可以),这里介绍IE设置代理方法,注意浏览器代理与burp suite代理需保持一致:

第三部分:抓包

  1. 在浏览器上进入需要抓包页面,输入信息(注意:此时最好把抓包开关关闭):

  1. proxy-intercept打开抓包开关(intercept is on),点击注册按钮,抓请求与cookie:

打开抓包开关-intercept is on

抓到请求与cookie

  1. 此时要注意一个问题,如果抓到的请求不是你想要的请求,点击proxy-intercept-forward,抓下一个请求:

  1. 抓到想要的请求时,点击action-send to repeater,将这个请求提取出来,包括当前的cookie

将需要的请求提取出来

  1. 回到抓包位置,关闭抓包开关,使注册成功,session生效,此时前一个验证码参与的session已经生效:

回到抓包位置关掉抓包开关使session登录成功

  1. 在前一个验证码参与的session未过期前,换个用户名,使用前一个验证码得到的其他信息(例如:cookie),发送注册请求,提示注册成功,成功绕过验证码:

在session未过期前换个用户名发请求,这个图仅表示这个用户名未被占用

提示注册成功,成功绕过验证码

  1. 最后去页面上,验证一下,该用户绕过验证码,确实注册成功
    提示注册成功,成功绕过验证码

第四部分:解决方案

  1. 验证码每次用过后,将cookie里的验证码信息清除;
  2. 验证码不参与cookie信息。

第五部分:修复后结果

修复后,再次使用同样步骤,提示“验证码输入错误”

修复后结果

文章目录