Pikachu暴力破解验证码绕过(on server)
不安全的验证码-on server常见问题
- 验证码在后台不过期,导致可以长期被使用
- 验证码校验不严格,逻辑出现问题(比如验证码只校验了账户密码,没有对身份校验)
- 验证码设计的太过简单和有规律,容易被猜解(比如验证码设计的有规律,被观察者看出其中的规律,就可能被猜测到下一个有效的验证码,此外如果图片太过清晰,通过验证码识别技术容易被某些识别工具识别)
目前简单的验证码已经有很成熟的识别技术,基本也等同于形同虚设
所以除了设计安全的流程外验证码是否够复杂(而又不影响用户体验)也是在验证码设计中很重要
Pikachu_验证码绕过(on server)

先随便输入账户密码进行burpsuite抓包

首先先将数据包发送给Repeater,不提交验证码,发出去,看看后台会不会对验证码验证


可以看到返回的验证码不能为空,说明后台还是做了校验的
再输入一个错误的验证码,执行后再来看看


提示说验证码输入错误,说明后端是做了验证的
如何判断验证码是否会过期?
首先在前台刷新一下页面更新验证码,记住此时的验证码nit2qg

回到burpsuite的Repeater,将验证码改为此时的验证码nit2qg

因为验证码是正确的,按照正常的逻辑后台返回的应该是账号或密码错误

符合我们的预期
为了验证码在下一次提交的时候是否能够被再次重复利用,我们改一下账户密码,再次提交
如果说这一次任然提示账户或密码错误,说明验证码不过期仍然有效


发现仍然提示账户或密码不存在,说明验证码能够被重复利用
所以这时候验证码也是形同虚设,与之前的步骤一样,只需要将正确的验证码输入进去不再改变,账户密码设置为变量,在intruder中进行暴力破解

注意:此时的验证码一定要为有效的验证码才行
导入字典,设置线程,开始攻击

发现只有请求序列为115、326、397的账户密码长度为35258,其他的都为35282,所以这三条记录一般就应该是正确的账户密码了

浙公网安备 33010602011771号