不安全的验证码客户端绕过
我们先输入一个正确的验证码,然后回到burp suite看有无抓包
发现,burp suite没有抓到包,然后,输入正确的验证码,发现burp suite抓到了数据包
它这里提交了账号、码和验证码。
我们再来看看页面的源码,看看它这个验证码验证是不是在前端做的,在页面右键,查看页面源代码。拖动到最下面900多行的时候,发现有一段js的代码。
可以看到,所有验证码的逻辑是通过js代码生成的,利用createCode()函数生成验证码,然后通过另一个函数validate()对验证码进行验证。也就是说验证码的验证是通过js代码在前端来做的,这种是很不靠谱的,非常容易被绕过。我们回到burp suite进行验证,后端是否真的没有对验证码进行验证。
右键,发送到repeater
在这里我们把验证码删除然后,进行提交,按照正确的逻辑,页面会给我们返回请输入验证。
在返回的页面我们往下拉发现,返回的内容是username or password is not exists,并未提示说验证码错误。
所有我们基本上可以确认,这个验证码虽然提交了,但是后台并没有进行验证,所以一开始我们提交错误的验证码弹出的框框是通过前端js实现的(也就是说当我们使用intuder暴力破解的时候,验证码是没有用的)。
按照之前文章弄过的暴力破解,快速的演示一下。
利用admin/123456进行登陆