验证码重放漏洞


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- 验证码重放漏洞 -

验证码就是每次访问页面时随机生成的图片,内容一般是数字和字母,需要访问者把图中的数字字母填到表单中提交,这样能有效地防止暴力破解、信息枚举、恶意灌水、广告帖等。例如在登陆的地方设置访问一个脚本文件,该文件生成含验证码的图片并将值写入到session里,提交的时候验证登陆的脚本就会判断提交的验证码是否与session里的一致。如果服务器端受理请求后,没有将上一次保存的session验证码及时清空,将会导致验证码可重复使用。

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

输入账号、密码及验证码,点击登录并抓取数据包。

当使用错误的验证码值多次重放数据包时,响应包均返回内容“验证码错误”,每个数据包返回统一的数据长度均为364,以此判断验证码值失效不可用。

当使用正确的验证码值多次重放数据包时,响应包均返回内容“账号或密码错误”,每个数据包返回统一的数据长度均为358,证明正确验证码可以被重复使用。

0x04 漏洞修复

  1. 当服务器端识别完一次验证码请求之后,及时销毁session中旧的验证码,并生成新的验证码。

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
短信验证码爆破 短信验证码爆破
短信验证码一般由4位或6位数字组成,若服务端未对验证时间、次数进行限制,则存在被爆破成功的可能性。输入手机号获取验证码,输入任意短信验证码发起请求并抓取数据包,将短信验证码参数字段设置成payloads取值范围为000000-999999进行暴力破解,根据返回响应包状态或长度等特征进一步判断是否爆破成功。
2022-10-30
下一篇 
手机号重复绑定漏洞 手机号重复绑定漏洞
许多网站在用户注册时都会要求用户绑定手机号或者邮箱进行注册,通过绑定的手机号和邮箱常用于用户忘记密码时接收验证码来判断是否本人操作。一般一个手机号限定绑定一个用户账号,如果一个手机号被多个账号同时绑定,可能造成账户信息泄露、账号身份被盗用的风险。
2022-10-28
  目录