网络安全零基础入门(第九章-1)验证码绕过、密码找回漏洞

  • 每日一句:果实总是属于勤奋开垦的人们
  • 本篇内容:验证码的作用
         验证码绕过的常见姿势
         密码找回漏洞
         实战注意

一、验证码的作用

1.之前都是普通漏洞,今天开始的都是逻辑漏洞
  逻辑漏洞:
    ~不是代码层面的错误
    ~另外逻辑漏洞基本可以是通杀
    ~现在的很多大厂,基本不会有普通漏洞,但是逻辑漏洞是很难避免
    
2.本质:
    简单的说,验证码是为了区分用户是计算机还是人的一种全自动工具
    
3.作用:
    利用较为简单的程序就可以有效防止:密码破解、刷票、论坛灌水(霸屏)等等

二、验证码绕过的常见姿势

1.绕过方向
    通过验证码的逻辑进行入手
    通过python、Golang等程序自动识别
    
2.额外增加
    假如通过验证码绕过爆出后台可以提交两个漏洞
    ~验证码绕过—逻辑漏洞基本
    ~后台弱密码
      //不出意外,一个高危,一个中危
      
3.登录处绕过
    ~前端验证验证码,并没有后端验证。直接抓包然后进行跑数据包
    ~验证码设置了但是并没有校验,乱输验证码也能够成功的登录 (少见)
    ~验证码有规则,比如是时间戳的后6位
    
    ~验证码可以重复使用,比如现在的验证码1111,然后虽然你登录失败后
      验证码会变,但是你输入1111他却判定你验证码正确 (常见)
    
    ~验证码空值绕过,比如,我们现在抓一个包,发现登录参数是
    user=admin&password=admin&yzm=4123。 yzm验证码参数,
    但是我们如果去掉yzm的传参我们就可以绕过验证码机制,
    直接传参user=admin&password=admin,验证码就失效了(常见)

三、密码找回漏洞

1.理解
    主要是一些短信验证码登录,这类验证实际上是区分身份的,比如平时登录的
    微信、QQ、支付宝等等,当你QQ密码忘记时,会要求你输入验证码。
    这类验证码一般都是5-30分钟的时效性,但是如果没有做限制,是不是可以
    直接进行穷举爆破~~
    
2.常见漏洞
    ~验证码无次数限制可爆破
    ~验证码可控
    
    点击获取验证码,抓包,发现包内有传参,比如:yzm=2020,
    放包,手机接到验证码为2020。假如这样的话,就很危险。
    因为包内的另一个参数:phone,也就是手机号。
    被人利用的话,就可以发送大量垃圾短信,钓鱼链接。
    
    例如:
      phone:110&yzm:I want to go in
    ~验证码发送后前端返回
    点击获取验证码后,抓包,放包,会将验证码返回给前端抓包处
    这样是不是可以任意修改别人的密码
    ~直接跳转修改密码页面
    
    正常步骤:
      输入找回密码账户,给浏览器cookie,
      点击获取验证码,输入正确的验证码,
      跳转到A站(修改密码的站)
      
    攻击步骤:
      输入找回密码账户,给浏览器cookie,
      修改发包,直接伪造请求跳转A站的数据包,
      跳转A站
      
      ~缺失的身份认证–>绑定别人的账号到自己的手机 //(常见)
      点击获取验证码,抓包,看内容有:
      userid=‘自己账户id’&phone=‘自己手机号’
      
      假如服务端不进行userid与phone进行校验,直接攻击
    攻击步骤:
      点击获取验证码,抓包,
      改userid=‘别人的id’&phone=‘自己的’
      然后就成功修改别人密码,只要知道别人的账户就可以了
      
3.密保改密码
    ~密保问题可能容易直接被猜测
    很多学校知道学号与身份证号即可找回密码
    而这些信息可以谷歌语法很容易得到
    ~密保问题答案页面中显示(即验证码前端返回,一个道理)

四、实战注意:

1.无限制爆破
    ~找回密码时,没有限制,可以无限次爆破时。万一卡住了,burp不动了
    这是将站跑出点小问题。
    ~此时,暂停burp,刷新页面,直到页面正常在再继续爆破
    ~这样还不行,只能记录跑到哪了,重新爆破
    
2.验证码找回的靶场,第一反正直接找后台
    找到后台登录,账户admin,密码sb,验证码正常输入。登录,抓包
    放到重发器,发送,密码账户不匹配,再发送,密码账户不匹配,
    这应该可以想到,验证码可以重复使用。可以确认一下:
    假如验证码本来是:1111,改为1112试试,提示验证码错误
    在改回1111,发送,账户密码不匹配。确认,验证码可以重复使用。
    接着就是爆破密码了
    
3.burp爆破
    一般看长度与状态码,部分网站返回都一样。这时就得注意看看包的内容
    要点: 不要仅仅盯着长度与状态码,注意内容
    
    另一种取巧的办法:直接在原网页刷新一下,因为,有的账户密码试正确了
    
    注意:将网页稍微删除点东西,比如:
       本来是1.1.1.1/admin/login.php 刷新的时候刷新的这个页面:
       1.1.1.1/admin
    **本质是:**你跑成功了,你的cookie被赋予了管理员权限
    
4.小技巧
    ~后台账户 %80是admin
    ~burp爆破 防止被IP被拉黑,多几个IP去试试线程,调低线程
    一般情况下,默认的5个线程不会被ban

五、总结

  • 熟练掌握验证码绕过原理和密码找回漏洞
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值