在知乎上看到的一篇文章,写的挺清楚的

作者:luosimao.com
链接:https://zhuanlan.zhihu.com/p/20879468
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、什么是短信轰炸(短信接口被刷)

短信轰炸一般基于 WEB 方式(基于客户端方式的原理与之类似),由两个模块组成,包括:一个前端 Web 网页,提供输入被***者手机号码的表单;一个后台***页面(如 PHP),利用从各个网站上找到的动态短信 URL 和 前端输入的被***者手机号码,发送 HTTP 请求,每次请求给用户发送一个动态短信。

- 被***者大量接收非自身请求的短信,造成无法正常使用移动运营商业务。
- 短信接口被刷通常指的就网站的动态短信发送接口被此类短信轰炸工具收集,作为其中一个发送途径。

具体工作原理如下:

(1)恶意***者在前端页面中输入被***者的手机号;
(2)短信轰炸工具的后台服务器,将该手机号与互联网收集的可不需要经过认证即可发送动态短信的 URL 进行组合,形成可发送动态短信的 URL 请求;
(3)通过后台请求页面,伪造用户的请求发给不同的业务服务器;
(4)业务服务器收到该请求后,发送动态短信到被***用户的手机上。

流程示例:

二、短信轰炸的防护方案

鉴于短信轰炸的发起一般都是服务器行为,应该采用如下综合手段进行防御

(1)增加图形验证
(2)单IP请求次数限制
(3)限制号码发送

(一)增加图形验证

恶意***者采用自动化工具,调用“动态短信获取”接口进行动态短信发送,原因主要是***者可以自动对接口进行大量调用。
采用图片验证码可有效防止工具自动化调用,即当用户进行“获取动态短信” 操作前,弹出图片验证码,要求用户输入验证码后,服务器端再发送动态短信到用户手机上,该方法可有效解决短信轰炸问题。

安全的图形验证码必须满足如下防护要求

- 生成过程安全:图片验证码必须在服务器端进行产生与校验;
- 使用过程安全:单次有效,且以用户的验证请求为准;
- 验证码自身安全:不易被识别工具识别,能有效防止暴力破解。

图形验证的示例:

luosimao目前提供的免费图形验证码方案:

https://luosimao.com/service/captcha

(二)单IP请求次数限制

使用了图片验证码后,能防止***者有效进行“动态短信”功能的自动化调用;
但若***者忽略图片验证码验证错误的情况,大量执行请求会给服务器带来额外负担,影响业务使用。建议在服务器端限制单个 IP 在单位时间内的请求次数,一旦用户请求次数(包括失败请求次数)超出设定的阈值,则暂停对该 IP 一段时间的请求;若情节特别严重,可以将 IP 加入黑名单,禁止该 IP 的访问请 求。该措施能限制一个 IP 地址的大量请求,避免***者通过同一个 IP 对大量用户进行***,增加了***难度,保障了业务的正常开展。

(三)限制发送时长

建议采用限制重复发送动态短信的间隔时长, 即当单个用户请求发送一次动态短信之后,服务器端限制只有在一定时长之后(此处一般为60秒),才能进行第二次动态短信请求。该功能可进一步保障用户体验,并避免包含手工***恶 意发送垃圾验证短信。

完整的动态短信验证码使用流程

转载于:https://blog.51cto.com/11574860/1772938

短信接口安全防御策略相关推荐

  1. 会员注册短信接口被攻击,如何防刷?

    网站或者APP注册页面,因为获取短信验证码的功能是暴露在外的,短信接口有可能被短信轰炸机攻击,那短信验证码防刷策略如何做呢?首先我们来了解一下短信接口攻击: 什么是短信接口攻击? 个别用户出于不正当目 ...

  2. 小豆社保「社保代缴」短信接口被盗刷解决方案-企业短信防火墙

    1 小豆社保业务及需求 半夜短信费用完, 怎么知道是否有问题? 小豆社保:是一家一站式人力资源SAAS服务云智慧平台,隶属于北京新琪科技有限公司, 说简单点就是解决工作变动无挂靠单位的人代缴社保的业务 ...

  3. 短信接口被恶意盗刷(验证码短信被盗刷)怎么办?

    短信验证码被刷怎么办? 一 事件简述 二 问题分析 三 应急解决方案 1 黑名单模式拦截 2 请求验证拦截 3 应急方案总结 四 最终解决方案 第一步:获取防火墙帐号密钥 第二步:下载防火墙服务器 第 ...

  4. 听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶查看请求报文 四丶分析测试 1. 直接在浏 ...

  5. 短信接口被恶意调用?企业短信防火墙+【中昱维信】短信验证码【Java】

    短信接口被恶意调用?企业短信防火墙+[中昱维信]短信验证码[Java] 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业 ...

  6. twilio 短信接口_使用Android Things和Twilio构建短信通知系统

    twilio 短信接口 在本教程中,我们将介绍如何使用Android Things和Twilio构建SMS通知系统. 本教程的主要目标是逐步描述如何实现基于Android Things的IoT系统,该 ...

  7. springboot项目调用阿里云短信接口(包括短信上行)

    最近一直在做项目,很久没有写过博客了,最近做的一个项目中遇到了一个业务需要用到短信功能包括了发送短信和短信回复之后要收到回复内容,阿里云短信服务是一个非常好的平台,里面提供了多种短信接口可以供我们使用 ...

  8. 安全测试 : 小米(xiaomi.com)网站短信接口安全测试,如何保护短信接口?

    – "隐患险于明火,防范胜于救灾,责任重于泰山" 安全问题不容忽视,不要亡羊补牢! 前言 一丶找到对外短信接口 二丶分析外部防御措施 三丶分析测试 1. 分析测试要点 2. 编写代 ...

  9. 短信接口防刷防轰炸解决方案Java接入教程- 企业短信防火墙+ 【中昱维信】短信验证码

    企业短信防火墙[新昕科技]+短信验证码[中昱维信]Java应用实例 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业务系 ...

最新文章

  1. 人工智能艺术:一场前所未有的新艺术创造
  2. 大跌眼镜!杭州一程序员年薪 30 万,竟靠偷车厘子缓解压力?
  3. qt designer 插入图片_高清免版权免费图片素材哪里找?
  4. Tortoise SVN 版本控制常用操作汇总(show log)
  5. 全球及中国汽车轮胎再制造市场销售产值与运营发展模式分析报告2022年
  6. MySql数据库学习--存储过程(1)
  7. VTK:PolyData之GradientFilter
  8. 趋势发展之人工智能,入行要趁早
  9. 树莓派做一个dns缓存
  10. Centos 安装 JDK8
  11. java赋值父类_java新手求助super和set给父类赋值!
  12. 【英语学习】【Level 08】U04 What I love L2 My favorite sport
  13. Android开发者指南24难点各个击破—来自androi中文翻译组
  14. Linux 最新配置***
  15. linux扫描目标主机开放端口
  16. 使用 matlab 求解多元非线性方程组
  17. postgre 主键_PostgreSQL – 随机主键
  18. linux下mysql中文乱码_linux下mysql中文乱码
  19. non-local Means(非局部均值)降噪算法及快速算法原理与实现
  20. 如何使用GetParent来得到父对话框的指针

热门文章

  1. 基于Hadoop2.2.0版本分布式云盘的设计与实现
  2. 正则表达式匹配标点符号
  3. JavaScript防抖与节流
  4. (一)Course Learning Objectives【The Arduino Platform and C Pro】
  5. 软件测试线性无关路径、环路复杂度详解
  6. HTML写一首简单的居中唐诗,《唐诗三百首》最简单一首诗,只28字却成压轴之作,誉为诗中绝品...
  7. HOG特征详解:Histograms of Oriented Gradients for Human Detection
  8. 机器人战争显示服务器连接,打开战争机器人提示网络异常或者连接不上
  9. [v9] phpcms v9手机门户配置方法
  10. USB2.0之硬件关注点