前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次利用00进行短信轰炸的渗透手法

记一次利用00进行短信轰炸的渗透手法

作者头像
C4rpeDime
发布2022-04-26 11:20:57
1.8K0
发布2022-04-26 11:20:57
举报
文章被收录于专栏:黑白安全

最近在一次渗透测试过程中遇到了一个比较有意思的漏洞,可利用特殊字符构造手机号以绕过发送频率限制,进行短信轰炸。并且在RD同学改完后,仍然发现可被绕过,因此再次记录一番。(文中涉及站点的图片都已打码,只在分享渗透的思路)空格绕过姿势在对某站进行渗透测试过程中,发现该网站上有一处发送短信验证码功能,该功能数据包截图如下:可以看到postdata里面是一个json

最近在一次渗透测试过程中遇到了一个比较有意思的漏洞,可利用特殊字符构造手机号以绕过发送频率限制,进行短信轰炸。并且在RD同学改完后,仍然发现可被绕过,因此再次记录一番。(文中涉及站点的图片都已打码,只在分享渗透的思路)

空格绕过姿势

在对某站进行渗透测试过程中,发现该网站上有一处发送短信验证码功能,该功能数据包截图如下:

记一次利用00进行短信轰炸的渗透手法 安全文摘 渗透测试 渗透测试  第1张
记一次利用00进行短信轰炸的渗透手法 安全文摘 渗透测试 渗透测试 第1张

可以看到postdata里面是一个json类型,写入目标手机号,重放数据包,可以成功发送短信验证码。由于服务端对同一个手机号发送次数做了限制,正常情况下无法通过重放数据包进行短信轰炸。然而由于服务端对前端传入的手机号处理不当,可以通过在手机号后面添加空格符号绕过限制。如上图所示,可通过不断在手机号后面添加空格,服务端会认为这是不同的手机号,以此绕过手机唯一性的检测;由于服务端在发送短信验证码时去除了特殊字符并且没有对手机唯一性进行二次检测,因此可达到短信轰炸的效果。

00绕过的姿势

在研发同学修复完此漏洞后,我进行了一次复测,发现服务端在处理手机号时,只是过滤了首位空格符号。那么这样是否就安全了呢?接下来我用回车符等其他特殊符号进行了一轮尝试,发现都无法绕过检测。这时我想到了00大法,可以将空格的16进制20改成00。我先在电话后面输入一个空格,然后在16进制下将20改成00,便可绕过限制,如下图所示:

记一次利用00进行短信轰炸的渗透手法 安全文摘 渗透测试 渗透测试  第2张
记一次利用00进行短信轰炸的渗透手法 安全文摘 渗透测试 渗透测试 第2张

漏洞产生的原因

服务端在发送手机验证码时分成了两个步骤:第一步服务端在收到手机号码时进行了手机号的唯一性检测(用于判断60s内是否有重复发送),然而此时没有对手机号过滤一些特殊字符,导致添加了空格符号的字符串被当成一个新的手机号;第二步在发送验证码时,却把手机号进行了一些特殊字符过滤,导致最终发送的目标都是同一个手机号。

修复建议

不建议单单使用过滤的方式来修复(很容易被绕过),个人认为可以将判断与发送逻辑合成一个。比如:当服务端收到手机号码时可以进行判断,若传入的手机号码中存在除数字以外的字符,则返回错误;或者过滤特殊字符串后,对过滤后的目标进行唯一性检查,并进行短信验证码发送。

文由https://thief.one/2019/09/27/1/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-30),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 空格绕过姿势
  • 00绕过的姿势
  • 漏洞产生的原因
  • 修复建议
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档