• 逻辑漏洞之信息轰炸解析


    参考文章

    本片文章仅供学习使用,切勿触犯法律!


    概述


    总结


    一、漏洞介绍

    信息轰炸主要是利用短信或邮箱频繁向用户发送信息。虽然对企业的危害比较小,但是对用户危害很大(很烦)。


    二、漏洞原理

    引发原因有很多种,主要是在执行发送短信、邮箱等操作有逻辑漏洞,导致可以重复执行,使得用户不堪其扰。


    三、漏洞危害

    • 骚扰用户
    • 窃取用户信息、钓鱼问题

    四、利用前提

    • 目标网站有发送短信、邮件等功能
    • 在执行发送短信、邮件等功能有漏洞,可以重复执行

    五、挖掘利用

    1、漏洞类型1

    1.描述

    2.挖掘

    常见于:

    • 登录处
    • 注册处
    • 找回密码处
    • 绑定处
    • 活动领取处
    • 独特功能处
    • 反馈处

    绕过轰炸限制的思路
    1.利用空格绕过短信&邮箱轰炸限制
    比如一般参数是这样的:mobile1=XXXXXX 或 email=XXXXXX@XX.XXX   一般都会有5次机会,如果发送次数超过了5次,那么一时间或1天才能继续发送,但当在手机号的前面或者后面加上空格的时候就又可以发送5次,而且短信或者邮箱是收的到的,修改过的参数如:mobile1= XXXXXX ,在前面加上空格,每加一个空格就会有反复发送短信或邮件的机会。

    2.利用调用接口绕过短信&邮箱轰炸限制
    比如这样的参数:terminal=01&Mobile=XXXXXXX,前面的接口是调用短信发送内容的接口,比如terminal参数值为01是调用注册成功的短信提示,02是调用密码重置成功的短信提示,03是调用注册成功的短信提示等等,当修改这个接口值时,也就达到了短信轰炸或邮箱轰炸的目的。

    3.修改Cookie值绕过短信&邮箱轰炸限制
    有些可能不是直接验证手机号来判断次数,而是验证当前Cookie,利用当前Cookie来进行验证发送次数的话,很容易造成绕过,这里如果验证的不是登录状态的Cookie而是普通状态下的Cookie的话就可以通过修改Cookie达到绕过验证。
    类似的例子:
    https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=27614

    4.修改IP绕过短信&邮箱轰炸限制
    有些同样是验证当前IP的,如果当前IP短时间内获取短信或邮件频繁或者达到一定次数的话就会出现限制,那么就可以利用修改IP或者代理IP来进行绕过限制。

    5.利用大小写绕过邮箱轰炸限制
    前面说到了关于加空格的绕过限制,邮箱也可以用,但还有一种方式可以绕过邮箱轰炸限制,那就是通过修改大小写,通过修改邮箱后面字母的大小写就可绕过限制,比如参数是这样的:Email=XXXX@qq.com 当次数达到限制时,随便修改一个字母为大写:Email=XXXX@Qq.com就可绕过限制。

    6.修改返回值绕过短信&邮箱轰炸限制
    比如发送成功后返回值是success,发送失败的返回值是error,那么当达到次数后,可以通过修改返回值为正确的返回值:success,从而绕过限制,达到发送成功的目的。

    7.利用不同账户达到短信&邮箱轰炸
    这也算是一个绕过问题,主要也是验证不当,比如一个账户可以获取5次,那么我换一个账户又可以获取5次,没有其它验证,那么可导致大规模的短信轰炸,虽然轰炸次数少,但是确实是大规模的,其本质也是会对企业和用户造成影响。

    3.利用

    直接造成信息轰炸
    1.利用登录处达到短信轰炸
     比如一些网站支持手机动态验证码登录,如果这里没有网站验证码的话,通过抓包批量发送很有可能造成危害,如果有网站验证码的话,这里就又涉及到一个新的思路了,也就是绕过网站验证码的问题,首先通过自己的账户进行短信登录,获取正确的网站验证码以及正确的手机验证码,点击登录的时候抓包,这里我用burpsuite,发送到Repeater模式,然后修改手机号为需要轰炸的手机号,然后重放,你会发现,手机验证码发送成功了,这涉及到的就是网站验证码绕过问题,步骤大概为输入正确账户正确网站验证码以及等等,登录时抓包,然后利用这个登录成功的数据包,修改值就可达到绕过轰炸现在问题。

    有些网站在登录处需要手机验证,这里大概出现验证的位置为三处:
    第一处:直接在登录处显示获取验证码
    第二处:当点击登录时会在登录处弹出验证
    第三处:当点击登录后跳转至一个专门验证的页面

    这些点有可能会出现轰炸的危害,可直接抓包进行轰炸。

    2.利用注册处&找回密码处进行轰炸
    在注册和找回密码处,往往都需要验证码,如果没有加以验证码以及其它的限制的话,有可能会造成轰炸问题。

    3.利用修改处进行轰炸
    在个人管理界面修改手机号或者修改邮箱的时候都需要验证码,如果此时这里处理不当,也可造成轰炸问题。

    4.利用反馈处进行轰炸
    一些平台支持反馈或者投诉等等,手机号或者邮箱都是自定义,也就是说可以随便输入,在我以前挖掘的过程当中,该问题利用起来虽然很有限制,但是本质上还是存在一点问题。一般这些反馈功能都不会验证提交次数,那么可以进行批量的提交,而手机号或邮箱可以指定需要轰炸的对象,当后台审核后就会进行短信或者邮箱通知,此时当你提交多少次就会通知多少次,那么也就造成了危害。

    5.利用某些活动页面进行轰炸
    比如一些活动或者刚上线的广告,可以领取某某东西,要求获取手机验证码进行领取,一般这里最容易存在问题了,如果最后活动下线了而这个发送接口还存在的话,那么就可被更隐藏性的利用了。

    6.利用独特功能进行轰炸
    比如个人后台可以添加企业资料或者什么的,然后里面会要求输入手机号,当添加成功了会有短信通知,此时如果重复添加,那么添加一次通知一次也就造成了短信轰炸的危害了。

    利用信息轰炸引发其他危害
    1.爆破潜在用户
    比如在注册处输入手机号或邮箱,它会判断该手机号或邮箱是否存在,如果存在返回通过并执行下一步的操作,如果不存在就返回不存在的信息提示,那么在这里可以批量进行爆破潜在的用户已经注册过的手机号或邮箱号,然后可被利用来进行撞库!

    2.钓鱼问题
    有些发送手机号的接口或者邮箱接口当发送时抓包,如果未过滤好,那么要发送的信息会在请求包当中,也就是说可以自定义要发送的内容,而且用的是官方的账户发送,那么很容易造成钓鱼问题,比如修改发送内容批量发送给很多用户,而修改的内容可以为钓鱼网站或其它等等,如果网站存在URL跳转问题,那么利用钓鱼在利用这个自定义内容发送问题,那么极有可能造成更具有信任性的钓鱼危害。


    六、修复防范

    主要使限制发送次数,并对代码做严格审核。或则限制信息接收方收到信息的次数(理论上可以,不排除有特殊情况)。


    七、提出问题

  • 相关阅读:
    WebSocket客户端连接不上和掉线的问题以及解决方案
    中国(China): 上海地图和经维度
    在程序开发中怎样写SQL语句可以提高数据库的性能
    C# 正则表达式
    asp.net mvc 2.0 【1】
    c#获取相对路径的八种方法
    ASP.NET 常用对象
    Python自动化开发基础和数据类型
    Python自动化开发数据类型之集合
    Python自动化开发数据类型之字符串
  • 原文地址:https://www.cnblogs.com/gorillalee/p/14354739.html
Copyright © 2020-2023  润新知