漏洞成因
首先我们审查源码,可以看到验证码是通过showvcode.php得到的
我们打开这个文件
可以看到生成的验证码的字符值会赋给$_SESSION['vcode'],
查看bf_server.php文件,把用户输入的验证码和$_SESSION['vcode']存储的做比对,如果一致,验证通过,但是验证完成后,并没有销毁$_SESSION['vcode'],导致$_SESSION['vcode']依然是原来的验证码,只要不刷新这个页面,$_SESSION['vcode']的值就不会变,那么这个验证码就可以一直用。
实际利用
我们通过burpsuite抓包,并发送到intr