8-1验证码绕过、密码找回漏洞
一、验证码作用
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。
可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。
这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
验证码五花八门,有中文字,纯数字,点击字符、数学运算……
二、验证码绕过的常见姿势
设置了验证码并不是完全可靠,在很多情况存在验证码绕过的情况(举例是在登录处)
一、前端验证验证码,并没有后端验证。直接抓包然后进行跑数据包,反正有没有验证码的阻碍
二、验证码设置了但是并没有效验,乱输验证码也能够成功的登录
三、验证码可以重复使用,比如现在的验证码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分钟,如果他没有做尝试限制的话我们是不是可以进行穷举?然后直接跑出验证码然后就修改他人密码呢?
第一种就是找回密码,往邮箱发送明文或密文的密码或者验证码(手机短信验证就是往你手机号码发验证码)通过这样的方法来判断是否是本人
第二种发送一个重置密码的链接到邮箱
上述的密码找回方法会有什么样的漏洞呢?
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之间的数字
http://59.63.200.79:8010//hahq_Admin/?umail=408362692@qq.com&type=ok
由于验证码没有错误次数限制,通过爆破得到验证码
- 点赞
- 收藏
- 关注作者
评论(0)