web安全:验证码绕过、密码找回漏洞

0x00 验证码的作用

可以防止恶意破解密码,刷票,恶意灌水,有效防止某一黑客对某一个特定注册用户用特定程序暴力破解方法进行不断的登录尝试。

0x01 验证码绕过的常见姿势

1.前端验证验证码,并没有后端验证。直接抓包然后进行跑数据包就可以了,反正没有验证码的阻碍

2.验证码设置了但是没有效验,乱输验证码也能够成功的登录

3.验证码可以重复使用,比如现在的验证码1111,然后虽然你登录失败后验证码会变,但是你再次输入1111他却判断你验证码正确(常见)

4.验证码空值绕过,比如,我们现在抓一个包,发现登录参数是user=admin&password=admin&yzm=4133.yzm验证码参数,但是我们如果去掉yzm的传参我们就可以绕过验证码机制,直接传参user=admin&password=admin,验证码就失效了。

以上两种,如果可以绕过验证码,并爆破出管理密码的话,就可以提交src:存在验证码绕过漏洞,中危。如果是工作中,发现可以绕过,则可以不用爆破密码,直接提交。

5.验证码可控制,比如他的验证码包含在url里面,是一个URL传参,并且修改url传参中的参数可以影响显示的验证码,那么验证码就可以控制

6.验证码有规则,比如是时间戳的后6位

7.有万能验证码,验证码无论是什么,只要输入000000就能直接绕过。(源码中应该是写死了一个“超级”验证码)

8.验证码有的时候会藏在cookie里面,分析一下是不是存在验证码参数。

0x02 密码找回漏洞

有一类验证码,并不是区分用户是计算机还是人的captcha,而是用来证明你的身份的。例如手机验证码登录。

当你的忘记qq密码时,可以通过手机验证码来找回,一般来说,手机验证码时间都有5-30分钟,如没有次数限制的话,攻击者是不是可以通过枚举,在限定时间内破解验证码,然后修改他人密码呢?

第一种就是向邮箱发送明文或密文或者验证码

第二种发送一个重置密码的链接到邮箱

上述密码找回可能出现什么样的漏洞呢?

1.验证码发送后前端返回

https://www.uedbox.com/post/13890/

这种漏洞产生的原因应该是开发人员在调试过程需要将验证码返回到前端控制台,但是项目上线后忘记关闭了。

2.验证码无次数限制可以直接爆破

3.验证码可控制:https://www.uedbox.com/post/26992/

4.直接跳到修改密码页面

5.缺失的身份认证,可以绑定别人的账户到自己的手机上面

6.在注册之前,通过预先设定一个密保问题,忘记密码时,通过此密保进行认证,认证成功进入密码修改界面。

  • 密保问题可能容易直接被猜测,比如很多学校知道学号和身份证号码就可以重置校园通的密码;
  • 密保问题的答案在页面中显示(数据包中可能自带了密保答案,可能在js里面)

建议:

在wuyun知识库中多看看他人的案例,然后慢慢形成自己的思路

找到这类漏洞后,证明漏洞存在和漏洞危害性然后提交到src即可,不要恶意利用。

发布了156 篇原创文章 · 获赞 19 · 访问量 8913

猜你喜欢

转载自blog.csdn.net/weixin_43415644/article/details/104369641