专栏首页Bypass一个有意思的漏洞组合场景

一个有意思的漏洞组合场景

实现一个业务功能,也有着很多不同的实现方式,当业务逻辑考虑不严谨的时候,同一个业务功能模块存在着很多漏洞场景,如密码重置漏洞、商城支付漏洞等。

本文分享一个有意思的案例,通过漏洞组合实现任意密码重置,同时,也是验证码验证一次有效的利用场景。

1、在这个密码重置模块里面,只需输入手机号和手机验证码即可进入修改密码界面,看到这个界面,很多人会尝试暴力破解,但会发现验证码仅能使用一次,爆破成功,但输入的时候已经失效了,怎么办?

2、 我们填写用户的手机号码,获取验证码,随意输入几个验证码,抓包:

我们注意到返回的是失败,如果返回成功,是什么样子呢?通过测试,如果验证码输入正确,返回{"data":"success"}。

3、修改返回包为{"data":"success"},即可绕过验证码验证,进入修改密码界面。

4、在这里,输入两次新密码,提示密码修改失败。查看HTTP交互过程,Token值不变。猜想:如何把Token变成有效的,这样才能修改成功。

{"Token":"eyJhbGciOiJIUzI1NiJ9.eyJpczMiOiJmYW5ydWFuIiwiaWF0IjoxNTYyOTI0MzUxLCJzdWIiOiIxaDA0MDI5OSIsIgp0aSI6Imp3dCJ9.Mo0KuEZwOuT6pPsJCydgKD-qVjIieaVAWDX7tchk4NY","newPassword":" IGFiY2RlMTIz"}

5、这里,我们利用系统的另一个缺陷,因对手机验证次数没有限制,遍历000000-999999区间,暴力破解手机验证码,成功后返回success

6、此时,输入用户新密码,保存后修改成功。

简单来说,这个漏洞场景是这样:

A、前端验证绕过可以直接进入密码修改界面,但Token无效,无法成功修改密码。

B、手机验证码可以暴力猜解,但验证码一次失效,爆破出来再输入验证码无效。

这个时候,通过A+B的漏洞组合,利用前端验证绕过进入修改密码界面,暴破验证码使Token生效,就可以实现任意密码重置漏洞 。

漏洞往往就隐藏在一些细节里面,在渗透测试中,去分析请求中的每个参数,并注意检查页面返回的源代码。比如,当参数拼接到SQL中执行,就存在SQL注入,当参数直接输出到前端,就存在XSS跨站脚本。

似乎很难再找到人去分享,发现一种新的漏洞利用场景的喜悦。

----致那些曾经一起玩渗透的朋友。

本文分享自微信公众号 - Bypass(Bypass--),作者:Bypass

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【渗透技巧】手机验证码常见漏洞总结

      手机验证码在web应用中得到越来越多的应用,通常在用户登陆,用户注册,密码重置等业务模块用手机验证码进行身份验证。针对手机验证码可能存在的问题,收集了一些手...

    Bypass
  • 【代码审计】后台Getshell的两种常规姿势

    在早些年刚接触web安全的时候,基础套路都是找注入--找后台--找上传点--找数据库备份--Getshell,然而在代码审计的角度,也存在类似的基本操作...

    Bypass
  • 【代码审计】QYKCMS后台任意文件上传、任意文件读取漏洞

    青云客网站管理系统(QYKCMS)是青云客开发的一款基于PHP+MySql的轻量级智能建站系统。在T00ls看到两篇QYKCMS的代码审计文章,也下载了一套回来...

    Bypass
  • 图片验证码的需求分析、优雅实现

    通常我们最登录的时候,为了防止多次尝试或攻击登录接口,我们需要弄一个验证码的功能,只有输入验证码正确的情况下,我们才会去做密码校验,这样就减少了密码可能会被试出...

    java思维导图
  • 验证码安全那些事

    前言 最近在研究验证码安全,本文主要分析四种流行的验证码(图形,短信,语音和滑动)进行分析,写这篇文章的出发点并非是绕过或破解验证码,而是根据自身业务情况来选择...

    FB客服
  • 09. 验证码暴力破解

    客户端发起请求->服务端响应并创建一个新的SessionID同时生成随机验证码,将验证码和SessionID一并返回给客户端->客户端提交验证码连同Sessio...

    汤青松
  • 验证码安全问题学习总结

    这几天学习了验证码安全的相关内容,在这里做一个总结,把一些的知识点巩固一下,水平有限,大神勿喷。可以参考这篇文章,总结了大部分验证码安全实例,地址 https:...

    雪痕@
  • 使用Java制作验证码

      验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Hu...

    端碗吹水
  • 网站漏洞修复之图片验证码的详细修复方案

    在对网站安全进行整体的安全检测的时候,用户登陆以及用户留言,评论,设置支付密码,以及一些网站功能方面都会用到图片验证码,针对于验证码我们SINE安全对其进行了详...

    技术分享达人
  • 小小验证码,作用可真不小!

    我们在开发用户登录功能的时候,总是会被要求加一个验证码的功能!那么,为什么要加这个验证码?验证码有什么作用?常见的验证码有哪些?

    Java旅途

扫码关注云+社区

领取腾讯云代金券