验证码机制测试(读书笔记)
0x01:验证码暴力破解测试
验证码机制主要被用于防止暴力破解、防止DDOS攻击、识别用户身份等,常见的验证码主要有图片验证码、邮件验证码、短信验证码、滑动验证码和语音验证码。
以短信验证码为例。短信验证码大部分情况下是由4~6位数字组成,如果没有对验证码的失效时间和尝试失败的次数做限制,攻击者就可以通过尝试这个区间内的所有数字来进行暴力破解攻击。
测试方法:
攻击者填写任意手机号码进行注册,服务器向攻击者填写的手机号码发送短信验证码,攻击者设置验证码范围000000-999999、
00000-99999、0000-9999,对验证码进行暴力破解,通过返回数据包判断是否破解成功,然后通过破解成功的验证码完成注册。
修复建议:
a.设置验证码的失效时间,建议为180秒;
b.限制单位时间内验证码的失败尝试次数,如五分钟内连续失败5次即锁定该账号15分钟。
0x02:验证码重复使用测试
在网站的登录或评论等页面,如果验证码认证成功后没有将session及时清空,将会导致验证码首次认证之后可重复使用。
测试时可以抓取携带验证码的数据包重复提交,查看是否提交成功。
测试方法:
修复建议:
针对验证认证次数问题,建议验证码在一次认证成功后,服务端清空认证成功的session,这样
就可以有效防止验证码一次认证反复使用的问题。
0x03:验证码客户端回显测试
当验证码在客户端生成而非服务器生成时,就会造成此类问题。当客户端需要和服务器进行交互发送验证码时,可借助浏览器的工具查看客户端与服务器进行交互的详细信息。
测试方法:
攻击者进入找回密码页面,输入手机号与证件号,获取验证码,服务器会向手机发送验证码,
通过浏览器工具查看返回包信息,如果返回包中包含验证码,证明存在此类问题。
修复建议:
1、禁止验证码本地客户端生成,应采用服务器验证码生成机制;
2、设置验证码的时效性,如180秒过期;
3、验证码应随机生成,且使用一次即失效。
0x04:验证码绕过测试
通过修改前端提交服务器返回的数据,可以实现绕过验证码,执行我们的请求。
测试方法:攻击者进入注册账户页面,输入任意手机号码,获取验证码,在注册账号页面填写
任意验证码,提交请求并抓包,使用抓包工具查看并修改返回包信息,转发返回数据包,查看是
否注册成功。
修复建议:建议在服务端增加验证码的认证机制,对客户端提交的验证码进行二次校验。
0x05:验证码自动识别测试
出自来自web攻防之业务安全
短信验证码攻击和暴力破解
短信验证码攻击:
1.使用burpsuite抓取发送验证码的包,将内容发送到Intruder中,点击Positions
3.接着点击右上方的Start attack
修复建议:
暴力破解:(登录接口实例)
原理:使用攻击者的用户名和密码字典,一一去枚举,即每一个用户名都会对应所有密码去尝试能否登录。理论上说,只要字典足够庞大,枚举是能够成功的。
1.同样将包发送到Instruder中,点击Position。
2.准备2个txt文件,一个文件填写用户名,另一个填写密码;
5.切换到Intruder的Options,下滑找到Grep-Match,Add参数true(这个是为了用来标识破解成功的用户名密码);
6.切换到Intruder的Payloads,点击Start attack;
如何解决短信验证码轰炸
解决方案如下:
1.打开手机管家,选择骚扰拦截选项。
2.进入骚扰拦截后,选择右上角的设置。
3.进入设置后,选择短信—拦截规则。
4.进入后,选择自定义拦截关键词。
短信:ShortMessageService,简称SMS,是用户通过手机或其他电信终端直接发送或接收的文字或数字信息,用户每次能接收和发送短信的字符数,是160个英文或数字字符,或者70个中文字符。
暴力破解与验证码安全
暴力破解 :暴力破解简单来说就是将密码进行逐个测试,直到找出正确的密码为止
暴力破解:是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作
暴力破解漏洞:如果一个web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高
暴力破解前准备 :
1. web系统的认证安全策略:
是否要求用户设置复杂的密码;
是否每次认证都使用安全的验证码
是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等)
是否采用了双因素认证
认证过程是否带有token信息
2.工具准备:准备合适的暴力破解工具以及一个有郊的字典
三个要点:
1. 对目标网站进行注册,搞清楚帐号密码的一些限制,比如目标站点要求密码必须是8位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码
2. web管理面密码使用admin/administrator/root帐号的机率较高,可以使用这三个帐号+随便一个密码字典进行暴力破解
3. 破解过程中一定要注意观察提示,如有“用户名或密码错误”“密码错误”“用户名不存在”等相关提示,可进一步利用
暴力破解分类 :
B/S模式:浏览器服务器模式的认证过程是http协议实现的,因此可以用burpsuite抓包工具来破解
1. 不带验证码的认证的破解:可直接使用burpsuite加密码字典破解
2. 带验证码的认证的破解:如果是前端验证可使用burpsuite抓包绕过验证码来暴力破解,如果是后端验证,可使用爆破工具(如pkav)外接验证码识别器来暴力破解。(如果后台验证过程中验证码没有立即销毁,此验证码可使用24分钟)
3. 带token信息的认证的破解:(Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,客户端带上token代表具有执行某些操作的权利)token信息每次都不一样,需要burpsuite将服务器返回的token取出用于下一次请求。
C/S模式:客户端服务器模式的认证过程有多种协议实现的,因此需要用专用的集成化破解工具来破解,例如 Hydra、Bruter、X-scan
工具:
Bruter:密码暴力破解工具
Hydra:hydra是著名黑客组织thc的一款开源的暴力密码破解工具,支持多种协议,可以在线破解多种应用密码。
暴力破解的防范 :增加web系统的认证安全策略
要求用户设置复杂的密码
每次认证都使用安全的验证码
对尝试登录的行为进行判断和限制
采用双因素认证
认证过程带token信息
验证码安全 :
是一种区分用户是计算机还是人的全自动程序,可以防止:密码暴力破解、刷票、论坛灌水。可有效防护黑客对特定用户的密码暴力破解。
验证码分类 :
Gif动画验证码
手机短信验证码
手机语音验证码
视频验证码
验证码常见安全问题 :
客户端问题
服务端问题
基于Token验证
验证码太简单,容易被机器识别
暴破验证码
验证码安全防护 :
1) 强制要求输入验证码,否则,必须实施IP策略。 注意不要被X-Forwaded-For绕过了!
2) 验证码只能用一次,用完立即过期!不能再次使用
3) 验证码不要太弱。扭曲、变形、干扰线条、干扰背景色、变换字体等。
4) 大网站最好统一安全验证码,各处使用同一个验证码接口
思路点:暴力破解和验证码安全破解时也可以熟悉认证业务过程,并试图在业务过程中寻找业务逻辑漏洞。
弱口令:属于暴力破解漏洞的一种,是web认证界面使用了常用的或者较简单的用户名密码,使暴力破解变得简单。
手机被短信验证码轰炸了怎么破解
正遭遇验证码轰炸的情况下怎么处理:
步骤1、首先我们把手机调为飞行模式,如果手机频繁弹出短信操作不了可拔出SIM卡,(此步骤的目的在于防止操作过程被频繁的短信通知干扰,如果不会干扰的话就没必要开飞行或拔卡了,下面的设置完成后务必立即关闭飞行模式)开启飞行模式。
步骤2、接着打开短信功能,点击右上角的设置按钮,往上滑点击骚扰拦截,骚扰拦截设置。
步骤3、如果你手机是双卡的话,选择被轰炸的卡号,点击开启骚扰拦截,然后再点击短信拦截;短信骚扰拦截设置。
步骤4、点击关键词黑名单,再点击底部的添加,输入验证码并点击保存。关键词拦截短信。
步骤5、最后回到骚扰拦截设置,在拦截通知中选择不显示拦截通知。
不显示短信短信通知。
通过以上设置,手机即便是遭遇一直不停的验证码短信轰炸也不不受什么影响了,因为手机系统后台会自动的静默拦截所有验证码短信,不会打扰手机的正常使用。
暴力破解/验证码绕过
1、 本文介绍登录存在哪些漏洞、验证码、token绕过、验证码识别、密码暴破、防范。
on server:验证码一直有效
on client:抓包直接删除验证码
Token:
1. Burp抓包,然后复制URL、数据包到Pkav。
2. 设置密码标记、验证码标记、配置、加载外部字典、配置验证码、发包。
3. 登录:
使用:Bruter、hydra:
smb:没设置密码
mysql:
ssh:
。理论上说,只要字典足够庞大,枚举是能够成功的。 1.同样将包发送到Instruder中,点击Position。 2.准备2个txt文件,一个文件填写用户名,另一个填写密码; 5.切换到Intruder的Options,下滑找到Grep-Matc
包。 3. 登录: 使用:Bruter、hydra: smb:没设置密码 mysql: ssh:
的用户名密码,使暴力破解变得简单。手机被短信验证码轰炸了怎么破解正遭遇验证码轰炸的情况下怎么处理:步骤1、首先我们把手机调为飞行模式,如果手机频繁弹出短信操作不了可拔出SIM卡,(此步骤的目的在于防止操作过程被频繁的短信通知干扰,如果
有token信息 2.工具准备:准备合适的暴力破解工具以及一个有郊的字典 三个要点: 1. 对目标网站进行注册,搞清楚帐号密码的一些限制,比如目标站点要求密码必须是8位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码 2
截规则。4.进入后,选择自定义拦截关键词。短信:ShortMessageService,简称SMS,是用户通过手机或其他电信终端直接发送或接收的文字或数字信息,用户每次能接收和