全站首页设为首页收藏本站

西虹市网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

社区广播台

    查看: 19|回复: 6
    打印 上一主题 下一主题

    聊聊如何利用短信验证码BUG浪费公司的钱

    [复制链接]
    跳转到指定楼层
    楼主
    发表于 2023-4-16 16:04:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    西虹网 西虹网  一、背景
    西虹网 西虹网

    西虹网 西虹网
    西虹网 西虹网  公司新产品体验,发现不少交互、UI、功能设计上的小问题。于是花了点时间随意挑了几个功能深入的玩了一下,顺手提了BUG。接口层,看了一下接口文档,简单测了一下接口,BUG其实还挺严重的,后面详细分析,为了顾及服务器后台大佬(架构师)的面子,费时费力在APP测试短信验证码服务器与APP整体处理逻辑,提交BUG如下:获取验证码短信的具体问题可以到我们网站了解一下,也有业内领域专业的客服为您解答问题,值得您的信赖!
    西虹网 西虹网
    西虹网 西虹网  BUG:
    西虹网 西虹网
    西虹网 西虹网  解决结果:
    西虹网 西虹网
    西虹网 西虹网  哎!TX背景的架构师的解决结果,让我稍许失望。
    西虹网 西虹网
    西虹网 西虹网  二、BUG分析
    西虹网 西虹网
    西虹网 西虹网  1、先说结论:重点是可以短时间(1、2分钟)之内把短信平台的预充值费用全部用完
    西虹网 西虹网
    西虹网 西虹网  1). 单手机号码可发送短信:40条+
    西虹网 西虹网
    西虹网 西虹网  2).可多手机号,短时间操作无限制发送短信验证码
    西虹网 西虹网
    西虹网 西虹网  3).对用户影响:可做短信炸弹恶意骚扰用户
    西虹网 西虹网
    西虹网 西虹网  4).对公司影响:短时间耗尽充值平台费用,导致注册、登录功能不可用;大量垃圾短信影响公司形象
    西虹网 西虹网
    西虹网 西虹网  2、第一个问题:单号码没有限制条数
    西虹网 西虹网
    西虹网 西虹网  a、06.12号当天实测,可以30来条,每15条换了一个通知号码而已
    西虹网 西虹网
    西虹网 西虹网  b、06.14号当天实测,确实超过15条是提示超出频率限制。(内心OS:我有当时短信截图,并有12号的其中部分日志在手,日志在手...)
    西虹网 西虹网
    西虹网 西虹网  测试想要不背锅,哥就大发慈悲教一条:不管大小BUG均记录在案,严重问题尽可能全的保留界面截图、日志文件等直接证据。
    西虹网 西虹网
    西虹网 西虹网  补充:一般第三方短信平台已有限制每个号码每天发送频率与条数:一般10条左右/天,1分钟内不超过2条
    西虹网 西虹网
    西虹网 西虹网  3、第二个问题:同设备、同IP、多号码请求无限制
    西虹网 西虹网
    西虹网 西虹网  a、文档设计,我们直接看业务层接口设计就能发现致命的缺陷!
    西虹网 西虹网
    西虹网 西虹网  接口文档
    西虹网 西虹网
    西虹网 西虹网  模拟请求
    西虹网 西虹网
    西虹网 西虹网  b、设计缺陷简单分析
    西虹网 西虹网
    西虹网 西虹网  1)、此接口为直接请求,基本没有其它前置接口处理(除了接入层路由)。
    西虹网 西虹网
    西虹网 西虹网  协议说明:APP请求走socket协议到接入层,再由其将请求内容改成http转发给业务层 --本次不讨论这个
    西虹网 西虹网
    西虹网 西虹网  缺陷1:无请求来源识别
    西虹网 西虹网
    西虹网 西虹网  缺陷2:同设备、同IP恶意请求,无法做限制   --此处原以为接入层有做,但我今天实测了一下未发现
    西虹网 西虹网
    西虹网 西虹网  缺陷3:无数据篡的改校验
    西虹网 西虹网
    西虹网 西虹网  缺陷4:单号码有加发送频率限制(刚加),同设备更换号码发送频率无限制
    西虹网 西虹网
    西虹网 西虹网  缺陷5:单号码有加15条/天的限制(刚加),同设备多号码(不停更换号码)短信发送可无限制
    西虹网 西虹网
    西虹网 西虹网  以上接口没有对外暴露,相对安全一点。但安全隐患是存在的,后面会讲实操如何实际测试,对是测试!
    西虹网 西虹网
    西虹网 西虹网  4、第三个问题:短信炸弹
    西虹网 西虹网
    西虹网 西虹网  之前没有单号码的条数限制、发送频率的限制,
    西虹网 西虹网
    西虹网 西虹网  现在有了,就不能任性发,此问题作废,但稍稍解释一下。
    西虹网 西虹网
    西虹网 西虹网  无条数限制:一天发个几十条给你,一个网站几十条,多几个网站你就跪了,有没有经历过某宝卖家的骚扰?无发送频率的限制:一分钟2条,如果没有限制,段时间就可以给你来个几十上百条,手机响个不停,15条一个号码,黑名单你都拉不过来
    西虹网 西虹网
    西虹网 西虹网  5、第四个问题:浪费钱,影响形象
    西虹网 西虹网
    西虹网 西虹网  短信验证码是为了用户快速登录,没有达到预期,都是浪费钱!故从这个角度说,没有安全措施,就是浪费钱!还不停给用户不需要的垃圾短信!
    西虹网 西虹网
    西虹网 西虹网  6、第五个衍生的问题:验证码与登录逻辑的安全缺陷
    西虹网 西虹网
    西虹网 西虹网  登录接口的Bug:
    西虹网 西虹网
    西虹网 西虹网  在测登录接口时试了,输错试过250次短信验证码(数字是巧合,嗯!),最后一次正确,依旧可以登录成功!what?怎么有这么牛X的操作???
    西虹网 西虹网
    西虹网 西虹网  验证码是4位数:
    西虹网 西虹网
    西虹网 西虹网  单看4位数验证码,没有一点问题对吧?
    西虹网 西虹网
    西虹网 西虹网  手机在用户手里,你也收不到,几位还是不一样?NO!!!
    西虹网 西虹网
    西虹网 西虹网  首先,4位验证码有10^4=10000种可能,验证码3分钟内有效。
    西虹网 西虹网
    西虹网 西虹网  其次,登录无错误次数限制
    西虹网 西虹网
    西虹网 西虹网  就问一句:你能不能在180秒破解登录,就1W种可能!
    西虹网 西虹网
    西虹网 西虹网  答案:so eazy!
    西虹网 西虹网
    西虹网 西虹网  三、如何浪费公司的钱
    西虹网 西虹网
    西虹网 西虹网  其他扯淡的吹嘘的玩意都不说,实操怎么浪费公司钱(短信费用)!!!
    西虹网 西虹网
    西虹网 西虹网  假设我非公司员工,不了解协议与逻辑,有什么办法呢,多的是,先提两种:
    西虹网 西虹网
    西虹网 西虹网  第一种方式(笨方法):
    西虹网 西虹网
    西虹网 西虹网  第一步:随机生成10W+手机号码
    西虹网 西虹网
    西虹网 西虹网  第二步:装Android虚拟机,安装产品APP
    西虹网 西虹网
    西虹网 西虹网  第三步:adb模拟(android自动化工具appnium什么的也行)
    西虹网 西虹网
    西虹网 西虹网  1)、app启动 : adb shell am start -n com.xxx.xxx/.xxx
    西虹网 西虹网
    西虹网 西虹网  2)、输入手机号: adb shell input text 15900000000   --手机号可以从文件中读取
    西虹网 西虹网
    西虹网 西虹网  3)、点击发送验证码:adb shell input tap 100 300    --发送验证码按钮位置是固定的
    西虹网 西虹网
    西虹网 西虹网  4)、Kill APP(可绕过60秒倒计时) :adb shell am force-stop com.xxx.xxx
    西虹网 西虹网
    西虹网 西虹网  第四步:循环以上三个步骤
    西虹网 西虹网
    西虹网 西虹网  说明:
    西虹网 西虹网
    西虹网 西虹网  1、可以写成bat,mac可以写成sh
    西虹网 西虹网
    西虹网 西虹网  2、吃饱了,试了一下,一个虚拟机大约5秒左右一条短信,可以启多个虚拟机一起跑,达到1秒1条
    西虹网 西虹网
    西虹网 西虹网  3、多个虚拟机使用以下命令: "adb -s 虚拟机 shell 命令"
    西虹网 西虹网
    西虹网 西虹网  4、以上adb还是有些慢,最好的方法是用monkeyrunner写(python语言)
    西虹网 西虹网
    西虹网 西虹网  5、这两次测试浪费了公司不少钱,少说也有10RMB++大大额巨款
    西虹网 西虹网
    西虹网 西虹网  第二种方式(抓包模拟):
    西虹网 西虹网
    西虹网 西虹网  第一步:随机生成10W+手机号码
    西虹网 西虹网
    西虹网 西虹网  第二步:Android手机(或虚拟机)安装产品APP
    西虹网 西虹网
    西虹网 西虹网  第三步:抓包模拟
    西虹网 西虹网
    西虹网 西虹网  1)、Android手机连接电脑共享wifi
    西虹网 西虹网
    西虹网 西虹网  2)、开启抓包工具,比如wireshark
    西虹网 西虹网
    西虹网 西虹网  3)、输入手机号,点击发送验证码
    西虹网 西虹网
    西虹网 西虹网  4)、重得以上步骤多次,找到规律破解
    西虹网 西虹网
    西虹网 西虹网  5)、python脚本或其他工具模拟请求
    西虹网 西虹网
    西虹网 西虹网  说明:
    西虹网 西虹网
    西虹网 西虹网  1、此方法成功率靠运气,不少APP都是有加密等各种措施防止中间人攻击
    西虹网 西虹网
    西虹网 西虹网  2、此方法需要一定实力,有代码或其它功底,第一种方式,完全不有压力
    西虹网 西虹网
    西虹网 西虹网  3、如里是不小心得到了接口协议文档的,直接跑接口,完美!!!
    西虹网 西虹网
    西虹网 西虹网  四、感触
    西虹网 西虹网
    西虹网 西虹网  想了很多,有很多想说,
    西虹网 西虹网
    西虹网 西虹网  写到这时突然发现,准备写的感触稍稍过于偏激,
    西虹网 西虹网
    西虹网 西虹网  好久不曾热血与冲动。
    西虹网 西虹网
    西虹网 西虹网  深呼吸...1分钟....................................................................................
    西虹网 西虹网
    西虹网 西虹网  还是来点鸡汤!
    西虹网 西虹网
    西虹网 西虹网  安全无小事,认真对待你发现的每一个BUG,也许错过它,就是公司破产的第一步!
    西虹网 西虹网
    西虹网 西虹网  BUG不分大小均记录,有利于经验的整理、线上回题回溯、背锅时的有理有据反驳!
    西虹网 西虹网
    西虹网 西虹网  努力提升知识广度,开拓眼界,增加思维的深度
    西虹网 西虹网
    西虹网 西虹网  举报/反馈
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享
    回复

    使用道具 举报

    沙发
    发表于 2023-4-21 12:29:22 | 只看该作者
    真是 收益 匪浅
    回复 支持 反对

    使用道具 举报

    板凳
    发表于 2023-4-26 11:51:48 | 只看该作者
    我抢、我抢、我抢沙发~
    回复 支持 反对

    使用道具 举报

    地板
    发表于 2023-5-1 13:53:25 | 只看该作者
    路过,学习下
    回复 支持 反对

    使用道具 举报

    5#
    发表于 2023-5-8 10:55:31 | 只看该作者
    我抢、我抢、我抢沙发~
    回复 支持 反对

    使用道具 举报

    6#
    发表于 2023-5-16 00:11:59 | 只看该作者
    真是 收益 匪浅
    回复 支持 反对

    使用道具 举报

    7#
    发表于 2023-5-26 08:30:06 | 只看该作者
    不错不错,楼主您辛苦了。。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表