案例演示

image.png
从这个案例我们可以看到,多了一个验证码?
每次点击login登录的时候,验证码都会改变。如果没有输入验证码,则提示没有输入。如果输入的验证码是错误的,则提示验证码错误。

开脑洞

我们用一个正常的验证码(这个验证码是可以看到的)+一个错误的密码,获得数据包看下。我们会得到一个回包的内容。后面再测试这个验证码不变的情况下,更换其他的数据,还能否重新利用这个验证码。
启动,用BS抓包看数据。

image.png
继续抓包,我们可以看到错误的提示为:账号或者密码错误。但没有提示验证码错误。 所以,验证码是提交ok的。现在我们把密码替换为常用密码,看效果。
image.png
payloads加载:
image.png

通过测试,我们发现,也没提示我们验证码无效。难道刚才用过的,就不行吗?


现在将之前的页面刷新,再次获得一个没有用过的验证码,替换到BS的数据包里面去。试试,看效果:
image.png
image.png

启动看效果。
image.png
选中2个数据包,做一个包比对,我们就能看到差异在哪里:
image.png
image.png
登录成功和登录失败的字样,赫然纸上。

总结

一个验证码,可以被反复使用,以至于这个验证码如同虚实。 在使用完这个验证码以后,应该让这个验证码失效。