验证码绕过漏洞
RainClv · · 1741 次点击 · · 开始浏览
验证码绕过漏洞
什么是验证码绕过漏洞?
比如说,开发人员在考虑用户登录的时候,为了安全添加了验证码验证,但是在代码层面他只做了
if(存在验证码){
验证登录
}
存在验证码的时候,允许登录验证,但是没有考虑到验证码不存在的情况。
If(存在验证码){
}else{
不存在验证码
}
这样我们通过抓包删除验证码的参数,就可以绕过验证,这就是常出现的逻辑漏洞。
验证码绕过的方向:
1. 通过验证码的逻辑进行入手
2. 通过Python,Golang等程序自动识别
验证码绕过存在的情况:
1. 前端验证验证码并没有进行后端验证。直接抓包进行跑数据包,反正没有验证码的阻碍。
2. 验证码设置了,但是没有校验,乱输验证码也能验证成功。(估计老板没给开发发工资吧)
3.验证码可以重复使用,比如现在的验证码是1111,虽然登陆失败后但是验证码不会改变,这样的通常可以通过暴力破解进行猜解用户名密码。
4. 验证码空值绕过,比如我们抓了一个包,发现登陆参数是user=admin,pwd=123456,yzm=1122,当我们删除了验证码的参数yam,然后继续发包,就会绕过验证码的验证。
5. 验证码可以被控制,比如说他的验证码包含在URL栏里面,是一个URl传参,我们可以手工设定Url值,那么验证码就可控制了
6. 验证码有规则,比如是时间戳后六位(rand函数进行随机数)
7. 万能验证码000000
8. 验证码有时候会被藏在cookie里面
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
验证码绕过漏洞
什么是验证码绕过漏洞?
比如说,开发人员在考虑用户登录的时候,为了安全添加了验证码验证,但是在代码层面他只做了
if(存在验证码){
验证登录
}
存在验证码的时候,允许登录验证,但是没有考虑到验证码不存在的情况。
If(存在验证码){
}else{
不存在验证码
}
这样我们通过抓包删除验证码的参数,就可以绕过验证,这就是常出现的逻辑漏洞。
验证码绕过的方向:
1. 通过验证码的逻辑进行入手
2. 通过Python,Golang等程序自动识别
验证码绕过存在的情况:
1. 前端验证验证码并没有进行后端验证。直接抓包进行跑数据包,反正没有验证码的阻碍。
2. 验证码设置了,但是没有校验,乱输验证码也能验证成功。(估计老板没给开发发工资吧)
3.验证码可以重复使用,比如现在的验证码是1111,虽然登陆失败后但是验证码不会改变,这样的通常可以通过暴力破解进行猜解用户名密码。
4. 验证码空值绕过,比如我们抓了一个包,发现登陆参数是user=admin,pwd=123456,yzm=1122,当我们删除了验证码的参数yam,然后继续发包,就会绕过验证码的验证。
5. 验证码可以被控制,比如说他的验证码包含在URL栏里面,是一个URl传参,我们可以手工设定Url值,那么验证码就可控制了
6. 验证码有规则,比如是时间戳后六位(rand函数进行随机数)
7. 万能验证码000000
8. 验证码有时候会被藏在cookie里面