掌控安全Web安全微专业笔记 (24)

image-20201027213938681

二、验证码绕过的常见姿势

image-20201027214058552

设置了验证码并不是完全可靠,在很多情况存在验证码绕过的情况(举例是在登录处)

一、前端验证验证码,并没有后端验证。直接抓包然后进行跑数据包,反正有没有验证码的阻碍

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

三、验证码可以重复使用,比如现在的验证码1111,然后虽然你登录失败后验证码会变,但是你输入1111他却判定你验证码正确(常见)https://www.uedbox.com/post/14207/

四、.验证码空值绕过,比如,我们现在抓一个包,发现登录参数是user=admin&password=admin&yzm=4123。 yzm验证码参数,但是我们如果去掉yzm的传参我们就可以绕过验证码机制,直接传参user=admin&password=admin,验证码就失效了https://www.uedbox.com/post/22266/

五、验证码干扰过低,轻松使用脚本识别https://www.uedbox.com/post/10085/

六:验证码会在HTML页面输出。https://www.uedbox.com/post/16869/

七、验证码可控制,比如他的验证码包含在URL里面,是一个URL传参,我们可以把URL设置定,那么验证码可控制https://www.uedbox.com/post/29913/

八、验证码有规则,比如是时间戳的后6位(rand函数进行随机数)

九、有万能验证码,验证码无论是什么,只要输入000000就能直接绕过

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

十一、图片验证码,类型太少,容易识别https://www.uedbox.com/post/24112/

多次登录后才出现验证码绕过:
基于session:https://www.uedbox.com/post/22043/
基于ip: https://www.uedbox.com/post/28442/
基于用户:爆破用户名,而非爆破密码

三、密码找回漏洞

有一类验证码,他并不是区分用户是计算机还是人的公共全自动程序,他是用来证明你的身份的,比如你登录微信,支付宝,支持短信验证码登录,像这类验证码他实际上是用来区分你的身份的。

当你QQ密码忘记密码的时候,你需要找回密码,然后他要求把APP显示的动态密码填入框里面,一般而言手机验证码时间都有5-30分钟,如果他没有做尝试限制的话我们是不是可以进行穷举?然后直接跑出验证码然后就修改他人密码呢?

image-20201027214709032

第一种就是找回密码,往邮箱发送明文或密文的密码或者验证码(手机短信验证就是往你手机号码发验证码)通过这样的方法来判断是否是本人

image-20201027214806850

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

image-20201027214822632

image-20201027214843677

上述的密码找回方法会有什么样的漏洞呢?
1.验证码发送后前端返回 (https://www.uedbox.com/post/13890/)
2.验证码无次数限制可爆破 (https://www.uedbox.com/post/15675/)

3.验证码可控 (https://www.uedbox.com/post/26992/)
4.直接修改密码页面(https://www.uedbox.com/post/35739/)
5.越权漏洞->自己验证码通过改包然后修改他们密码

https://www.uedbox.com/post/24098/
https://www.uedbox.com/post/42136/

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

密保问题可能容易直接被猜测 (比如很多学校的知道学号和身份证号码就可以重置校园通的密码)

密保问题答案页面中显示(数据包里面可能自带了密保答案,可能在JS里面)

四、靶场提示

代码审计\Include\web_email.php这个文件源码中可以看出验证码是10到10000之间的数字

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdzz.html