逻辑漏洞中一些自己总结关于验证码的漏洞挖掘
2023-5-19 20:43:5 Author: 猪猪谈安全(查看原文) 阅读量:28 收藏

0x00 前言

最近在总结一些自己学习到或自己遇到的逻辑漏洞案例,以下是一些关于验证码相关的案例。当然其中可能有一些思路自己暂时还没有想到或自己认知有限原因,以后想起来或学习到了新的技巧会在如下博客实时更新。

https://suifeng-kali.github.io/

也非常希望师傅们加好友交流或补充你们所遇到的一些其他思路

0x01 短信轰炸

通过抓取发送短信的数据包,然后可以把该数据包一直重放达到无限制的去发送短信或者是邮件

绕过方法

程序员可能会对发送验证码做一定的限制,但是由于考虑不周全还是可以被绕过

在"phone"字段前后添加字符绕过

+86  //在前面添加tab%20+字母...

Cookie等身份控制值修改绕过

系统记录手机号发送验证码的次数极有可能是通过记录cookie或其他记录身份信息的字段请求验证码的次数来统计的,所以我们可以通过删除Cookie等操作判断验证码限制是否可以绕过

不同验证码接口绕过

一般触发发送验证码的接口不止一处,程序的后端一般会通过一个type值对不同接口做出区分,我们可以通过修改不同接口达到验证码绕过。

大小写绕过邮箱验证

有时候在发送邮件的时候没有对大小写做限制,我们可以把小写的邮箱替换成大写进行绕过

X-Forward-For头绕过

有时程序通过检查X-Forward-For头或其他head头信息来记录验证码发送次数,这个时候修改这些头达到短信爆破

0x02 手机验证码绕过或

绕过方法

验证码前端回显或返回到相应包中

程序员设计存在缺陷导致验证码在发送给手机用户的同时在前端或返回包中也出现了

字段或值重复叠加绕过

字段叠加

值叠加

以上两种双写存在漏洞则两个手机号都会收到验证码

修改后端返回值绕过

我们随意输入一个验证码,在验证手机验证码包里面显示验证码错误,有时可以修改返回包状态码来进行绕过

爆破验证码

有时程序验证码过于简单如只有4位,或验证码有效时间过长,如6位验证码,这种情况我们可以通过暴力破解去获取验证码,进而通过验证。

0x03 登录框图形验证码等

在进行登陆或一些其他需要验证码交互的场景下,由于程序员开发失误,导致可以让验证码失效或验证码绕过等

绕过方法

重放验证码数据包验证码不刷新

在一些登陆场景下由于程序员设计失误,只要浏览器中的页面不刷新,验证码就不会刷新,这个时候,我们可以通过抓取发送验证码的数据包,发送到burpsuite的暴力

破解模块中直接爆破就ok

删除验证码字段进行绕过

在一些登陆场景中,最初页面中并未存在验证码,但是错误输入几次账号密码后,需要我们输入验证码进行验证,这个时候,我们可以通过抓包把数据包中对应的验证码字段进行删除进行尝试绕过,如还存在验证码验证可在对Cookie等身份验证等字段删除。

验证码识别绕过

一些验证码设计的太简单可以进行识别绕过

安装bp插件reCAPTCHA或使用pkavhttpfuzzer等

修改后端返回值绕过

此类具体做法和上文讲述的手机验证码修改返回值一致,重新再写一遍,是存在如下一种场景。

在登陆处或修改密码处需要输入用户名和密码,且还一个图形验证码,这时你想爆破密码但是由于存在图形验证码导致你无法爆破,这个时候我们可以通过修改最初登陆处或修改密码处的返回状态码,从而进入到下一个验证接口处,而这个验证接口可能由于开发人员考虑不周全导致此处不存在图形验证码,故可在此处进行暴力破解。


 点击下方小卡片或扫描下方二维码观看更多技术文章

师傅们点赞、转发、在看就是最大的支持


文章来源: http://mp.weixin.qq.com/s?__biz=MzIyMDAwMjkzNg==&mid=2247511008&idx=1&sn=dd4b79663089dcc3d98a8b5dd2934173&chksm=97d044f7a0a7cde1305a7be3eb0b679572b6fb190ff77c1ea743bc9b8497fd695c344d03eba1#rd
如有侵权请联系:admin#unsafe.sh