【web安全】短信轰炸排查思路分享

admin 2025年3月18日19:18:39评论10 views字数 2130阅读7分6秒阅读模式
背景

近期在进行短信轰炸的漏洞排查专项,所以对当下的短信轰炸进行排查的案例以及对排查方案进行总结

环境准备

1. burp

2. Ehole

主题总结

1、空格绕过的短信轰炸案例分享

2、短信轰炸的排查方案示例

3、修复方案

排查方案

01 前言背景

    近期短信轰炸专项排查时,访问到某业务系统时,尝试重复放包,该系统存在短信轰炸的防护逻辑。

【web安全】短信轰炸排查思路分享

    但是在进行横向轰炸测试时,意外发现该系统可用多个手机号循环重复进行短信验证码获取,可短时间内触发多条短信。

【web安全】短信轰炸排查思路分享

    后续发现已有对短信轰炸绕过方式的总结文章:

(https://www.cnblogs.com/backlion/p/17294082.html)

    参考其中手法,进行绕过尝试,发现空格绕过对该类短信轰炸的防护手段有较好的绕过验证效果。

【web安全】短信轰炸排查思路分享

    问询业务方在该处实现的功能逻辑,梳理后存在以下问题:

        1、先对用户传递的手机号字符串进行是否重复发送的比对逻辑,再对该字符串进行11位数字字符的规范处理。该逻辑导致相同手机号在增添空格字符后,被记为不同的手机号。

        2、为防止轰炸,对已发送短信的手机号采用了短队列存储,新请求验证码的手机号,会将最早记录的手机号挤出队列。

    主要为问题1存在的逻辑漏洞,可进行空格绕过。

02 排查方案

    对于公网资产,先进行可能存在短信轰炸页面的收集,可利用指纹框架判断工具,如ehole等对常见关键字(注册、找回等)进行筛选检索。

    Ehole: https://github.com/EdgeSecurityTeam/EHole

此处给出ehole可用的指纹文件示例

{    "fingerprint": [{        "cms": "找回密码",        "method": "keyword",        "location": "body",        "keyword": ["找回"]    }, {        "cms": "忘记密码",        "method": "keyword",        "location": "body",        "keyword": ["忘记"]    }, {        "cms": "注册",        "method": "keyword",        "location": "body",        "keyword": ["注册"]    }, {        "cms": "一键登入",        "method": "keyword",        "location": "body",        "keyword": ["一键登入"]    }, {        "cms": "忘记密码",        "method": "keyword",        "location": "body",        "keyword": ["forget"]    }, {        "cms": "手机",        "method": "keyword",        "location": "body",        "keyword": ["手机"]    }, {        "cms": "验证码登入",        "method": "keyword",        "location": "body",        "keyword": ["验证码登入"]    }, {        "cms": "密码重置",        "method": "keyword",        "location": "body",        "keyword": ["reset"]    }, {        "cms": "密码重置",        "method": "keyword",        "location": "body",        "keyword": ["重置"]    }, {        "cms": "短信快捷登入",        "method": "keyword",        "location": "body",        "keyword": ["快捷"]    }, {        "cms": "短信登入",        "method": "keyword",        "location": "body",        "keyword": ["短信"]    }, {        "cms": "短信便捷登入",        "method": "keyword",        "location": "body",        "keyword": ["便捷"]    }  ]}

【web安全】短信轰炸排查思路分享

    之后对筛选出的资产清单进行人工判断,确定是否存在短信轰炸问题。

【web安全】短信轰炸排查思路分享

    当电话号码传参不存在传递字符串长度的限制,且未对含非数字字符的输入进行过滤时,可尝试输入空格字符(" ","%20","+"),测试其对短信发送接口的影响。

【web安全】短信轰炸排查思路分享

    也可以直接使用相关插件,如SMS_Bomb_Fuzzer

(https://github.com/yuziiiiiiiiii/SMS_Bomb_Fuzzer)

【web安全】短信轰炸排查思路分享

    之后根据收到的短信验证码情况,来判断短信轰炸的防护状况。

03 修复方案

    1、后端严格校验输入的手机号格式并对短信发送频率做限制,只允许输入11位数字,过滤所有特殊字符。

    2、对近期发送过短信验证码的校验,对提取后的手机号进行记录匹配,而非用户直接传递的字符串。

    3、短信发送前增添完备的图形验证码校验。

正文内容
END

原文始发于微信公众号(安全驾驶舱):【web安全】短信轰炸排查思路分享

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月18日19:18:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【web安全】短信轰炸排查思路分享https://cn-sec.com/archives/3855243.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息