Low级别:
1.可以看到是一个修改密码的功能,并且有一个验证码
2.此时我们输入新密码和确认密码在完成验证后,开启浏览器代理,开启Bp拦截
点击Change提交请求后,抓到了一个数据包,可以看到有5个参数
除了密码和验证码以外比较特殊的就是step=1
这个参数,此时还无法得知其含义
3.接着回到dvwa它会提醒我们通过了验证码,单机提交更改
接着我们点击Change后又抓到了一条数据包,此时发现
step参数变成2了,其余参数和step=1时无变化,我们根据它的英文释义猜测
该参数表示一个验证码的修改流程的步奏
点击drop放包后,回到页面发现提示修改成功
4.此时我们就想能不能直接对该URL发出Step2的请求看能否成功
我们重新提交一次密码,抓到数据包如下
此时我们修改step=2,删除验证码字段
可以看到页面直接修改成功了跳过了验证码的验证
Medium级别:
1.输入新密码,通过验证码后点击提交
可以看到有5个参数其中step参数为1
2.接着回到dvwa提示,我们的验证码通过了,点击提交更改
点击后又抓到一个数据包,此时可以看到基本上和low级别的数据包无异
唯一的区别是step=2时多个一个参数为passed_captcha=true
接着放包后可以看到提示修改成功了
3.此时我们可以不输入验证码,直接提交请求,直接将step1捕获到的数据包替换成step2的参数
放行后发现直接修改成功了
High级别:
1.来到high级别,输入密码,完成验证码后,开启浏览器代理,开启Bp,提交请求
可以看到和前两个级别不一样的地方是,在step=1时加入了user_token
参数
接着放包后直接修改成功,什么没有第二部散了吧
2.在毫无头绪的情况下,本着查看一下user_token位置F12打开源码,搜索user_token
结果发现了测试的注释:
将User-Agent:reCAPTCHA
将Response:hidd3n_valu3
3.接着我们输入密码直接提交,不进行验证码的验证,此时数据包是这样的
修改Agent头和response
可以看到又成功了,在没有输入验证码的情况下