1. 聚能聊>
  2. 话题详情

平时用于内测的短信接口,一夜狂发上万条!我该怎么办?

公司平时用于内测的短信接口,没做什么安全措施,公网可访问,用了几个月了一直没问题;今天总监突然来说短信接口昨天一夜被调用了上万次;我远程服务器一看,log 显示还在频繁的调用呢!

简单的统计:
部分样本:

访问来源===调用次数
101.226.33.204===4
101.226.33.205===1
101.226.33.206===2
223.104.6.25===1
124.238.145.90===76
101.226.33.200===1
112.17.235.83===1
101.226.33.201===1
113.57.183.50===2
101.226.33.202===3
61.129.8.179===2
139.162.111.98===1
111.198.52.193===2
101.226.33.203===2
119.130.228.35===29
113.128.128.173===21
59.42.206.4===1
123.112.18.110===559
43.224.45.108===6
183.13.205.21===30
60.253.192.158===103

手机号===发送条数
152xxxx2199===98
152xxxx4962===11
155xxxx4707===5
180xxxx1088===2
136xxxx8036===6
139xxxx2679===3
133xxxx5010===3
189xxxx7013===7
131xxxx1887===97
136xxxx2949===10
159xxxx8910===9

从发送数量来看似乎是短信轰炸,从IP来源来看算是比较专业的吧!

联系提供商收到的回复
一、易遭恶意使用的场景
网络在线投票站(需要填写手机号码进行校验)
用户用手机号注册页面(包含手机短信验证功能)
手机短信动态密码登录
通过手机号找回密码

二、恶意频繁发送短信验证码的途径

主要有两种途径,一种是人工频繁点击;一种是通过软件连续点击,就危害性来说,软件连续点击的危害要大的多。

三、防止恶意频繁发送短信验证码的手段

1,短信发送间隔
设置——设置同一号码重复发送的时间间隔,一般设置为60-120秒
2,IP限定——根据自己的业务特点,设置每个IP每天的最大发送量
3,手机号码限定——根据业务特点,设置每个手机号码每天的最大发送量

上述三种方法不能有效防范通过软件来连续点击,因为软件可以模拟大批量ip,手机号来调用接口发送

4,流程限定——将手机短信验证和用户名密码设置分成两个步骤,用户在设置成功用户名密码后,
下一步才进行手机短信验证,并且需要在获取第一步成功的回执之后才可进行校验。

5,绑定图型校验码——将图形校验码和手机验证码进行绑定,这样能比较有效的防止软件恶意注册。该方式主要用于web防范,对于app和微信一般是不用图形校验码的。同时图形校验码的校验必须放在服务端,不能简单的在页面里校验,防止恶意软件绕过图形校验码。

6,随机码校验,针对app和微信不适用图形校验码的问题,可以在用户请求发送前页面时候在页面中嵌入随机码,调用发送手机验证码时候,要把这个随机码发送到服务端做校验

7,限制终端类型。针对app和微信,可以限制必须是手机来请求才处理。

阿里的短信服务相关帮助
参考链接:如何防范短信功能被恶意攻击/盗刷?

我想问的是:
1、发送的短信都有产品名称的,这个验证码在别的网站上也用不了,只有在我们网站上才有效,他拿来有什么用?短信轰炸,半夜骚扰,诈骗?

2、业内是否存在黑幕交易,比如提供商找人代刷?

3、如果短信接口添加用户密码等验证参数,写入APP中,有没有推荐的加固方法可以防止反编译?

4、我是提供一个WebAPI供APP端调用,那么随机码校验、拖动验证都比较容易模拟,图形校验码不适用(即使用也有图形识别类的功能),针对这个问题我应该采用哪些技术方案?比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。

5、有没有短信服务商把这些问题都搞定了,我只管简单的调用就可以了?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    虾米VIP季卡 x 3

  • 奖品二

    手机话费 x 3

  • 奖品三

    阿里云代金券 x 3

43个回答

1

北方的郎 已获得手机话费 复制链接去分享

1、发送的短信都有产品名称的,这个验证码在别的网站上也用不了,只有在我们网站上才有效,他拿来有什么用?短信轰炸,半夜骚扰,诈骗?
"没做什么安全措施,公网可访问"。这句就够了,因为太容易了,几行代码的事,他即使什么收益都没有,就是玩玩也无所谓了,反正不费什么事。
这事肯定首先要怨自己,公网的东西,怎么能没有安全措施啊,怎么也要搞一个验证机制啊。

2、业内是否存在黑幕交易,比如提供商找人代刷?
说不好的东西,不过还是那句话,"没做什么安全措施,公网可访问",别人怎么干你都没办法啊,还是尽快建立安全措施吧。

3、如果短信接口添加用户密码等验证参数,写入APP中,有没有推荐的加固方法可以防止反编译?
虽然有些加固方式,不过把用户密码写入APP中,怎么也不是一个好主意啊。怎么加固感觉也不是好想法啊,假如APP有很多人用,万一被别人破了,你的密码是改啊还是不改?还是用别的办法吧。

4、我是提供一个WebAPI供APP端调用,那么随机码校验、拖动验证都比较容易模拟,图形校验码不适用(即使用也有图形识别类的功能),针对这个问题我应该采用哪些技术方案?比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。
网上的这些防护机制,很少只用一种的,一般都是多种方法结合来搞,要想保证安全就要搞得足够难、让违规成本足够高。“比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。”这两个想法就不错啊,再加上校验机制再加上IP和手机号的黑名单以及其他的网络防护措施。

5、有没有短信服务商把这些问题都搞定了,我只管简单的调用就可以了?
这个阿里云好像就有吧。好像是什么云通信里面的。

微wx笑 回复

嗯,提高成本。

nemo石 回复

评论
1

1836999980676468 已获得虾米VIP季卡 复制链接去分享

作为经常做爬虫的来说一句。既不影响普通用户,又可以阻挡这类滥用,同一ip一段时间内前两次申请验证码不需要图片验证码,一段时间内申请超过某次数以后,一定一定要图形验证码!!!图形验证码可以不定期换方案,不要用那些简单的,简单的图形验证码随便就攻破了。

微wx笑 回复

但别人使用代理攻击有什么好办法呢?

评论
0

浮生递归 已获得阿里云代金券 复制链接去分享

代金券能用来支付阿里的短信费用吗

流程限定只适合部分场景,像取回密码时,本身就是忘记密码了,所以就不可能先输入密码再允许发送短信了。

1、发送的短信都有产品名称的,这个验证码在别的网站上也用不了,只有在我们网站上才有效,他拿来有什么用?短信轰炸,半夜骚扰,诈骗?
诈骗可能比较小,你的数据显示也不大可能是短信轰炸。短信轰炸应该集中在一批目标上,但你的数据里显示有的才几十条,不能达到轰炸的效果。更像是常规的漏洞收集、测试,为利用前做准备。相当于另一种肉鸡。

2、业内是否存在黑幕交易,比如提供商找人代刷?
一直有,这种交易是不可能禁止的,只要人类还没进入共产主义最终阶段。有好人就有坏人,有光明就有黑暗。

3、如果短信接口添加用户密码等验证参数,写入APP中,有没有推荐的加固方法可以防止反编译?
加密呀……用自己的算法加密,别人不知道你的算法,所以无法破解。

4、我是提供一个WebAPI供APP端调用,那么随机码校验、拖动验证都比较容易模拟,图形校验码不适用(即使用也有图形识别类的功能),针对这个问题我应该采用哪些技术方案?比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。
APP可以读取设备识别码。不过依赖单一手段通常效果都是不明显的,通常还是组合方案比较完善。比如短时间内暴增请求,就自动暂停发送功能,提示服务器维护中,请十分钟后再试。同时后台立即发送警报给相关人员,马上进行排查处理。如果是真实请求则解禁,黑客攻击,则根据特征条件进行过滤请求。

5、有没有短信服务商把这些问题都搞定了,我只管简单的调用就可以了?
就跟DDOS攻击一样,模拟真实请求的调用,谁也无法发现。现在的服务商,大部分都已经考虑了这个问题,也做了能做的技术处理了。

微wx笑 回复

代金券能用来支付阿里的短信费用吗,刚去提交了个订单试了一下,确实可以选。

浮生递归 回复
回复@微wx笑:

那就赏个代金券呗……

评论
0

海阔天空yy 已获得手机话费 复制链接去分享

1、发送的短信都有产品名称的,这个验证码在别的网站上也用不了,只有在我们网站上才有效,他拿来有什么用?短信轰炸,半夜骚扰,诈骗?
发短信肯定是收钱的,首先你就损失一笔钱,损人不利已人也是大有人在。

2、业内是否存在黑幕交易,比如提供商找人代刷?
肯定是有的,特别是现在中国对企来管理的很松。举个例子说,淘宝网店的代刷就有很多。

3、如果短信接口添加用户密码等验证参数,写入APP中,有没有推荐的加固方法可以防止反编译?
不建议这样吧,你把用户名密码都加到客户端可以太危险了。
反编译虽然加大了被破解的难度,但人家可以绕过你的app,人家可以从网络数据包入手啊。
所以我的建议是,你应该从短信接口设置一个次数限制,比如用户名一天只能发5次,等等的,具体要看你的业务情况而定。

4、我是提供一个WebAPI供APP端调用,那么随机码校验、拖动验证都比较容易模拟,图形校验码不适用(即使用也有图形识别类的功能),针对这个问题我应该采用哪些技术方案?比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。
同一IP也不一定可靠,有在同一个局域网的人就被限制使用了。
我们用过的是,同一个手机号码,一天只能发送5次,发了5次还搞不定的人那就真是有问题了,这个可以根据肯体情况来定
5、有没有短信服务商把这些问题都搞定了,我只管简单的调用就可以了?
不太可能,短信服务商不会管你业务层是怎么处理的。你发短信发的多,人家还高兴的呢不是

微wx笑 回复

你发短信发的多,人家还高兴的呢,确实!
根据日志我觉得就是一个人搞的,使用了代理,所以感觉不加验证码的话,仅限制次数,别人恶意搞你也不行。

评论
0

cjsoldier 已获得手机话费 复制链接去分享

1.当年某直播平台刚出来的时候,很多人立马就看到了商机。什么商机?疯狂注册然后买账号,或者帮人刷弹幕暖场。有的注册平台需要短信验证码,搞不定怎么办?花钱请专业的来。恭喜贵公司,一定是有人看上你们了,他们觉得贵公司很有钱景。
短信轰炸也是有可能的。之前我问以前的同事有什么好玩的,他说一行js代码实现短信轰炸,只是为了好玩。估计也没多少人玩,因为实在是太低端了太无聊了。

2.根据题1的回答,很有可能。

3.梆梆加固,国外回来的团队专业搞这个的。开源的只用过简单的混淆优化,比如proguard,很弱,就把变量名改了下。效果不明显不说,用的时候还要小心翼翼的,比如setter,getter名字不能变。还是花点钱省时省力。有些东西就得专业的来。

4.我觉得把随机码搞模糊一点就差不多了,4位太少了可以搞6位或者更多。目前能搞定随机码的也没多少人,如果不是那就是我孤陋寡闻了。欢迎打脸,我脸大,您不用担心打不着。

5.这个我母鸡啊,如果谁知道请艾特我一下。

微wx笑 回复

proguard 我也尝试过,难用效果差。

评论
0

linuxops 已获得虾米VIP季卡 复制链接去分享

通常API都会限流鉴权吧显然什么都没有做
不仅这样,我们对API(不仅仅是API,不对外直接访问的)都不用默认的端口,比如redis等。
另外还限制了访问IP...这样安全性就已经很高了。

0

沃夫中国 已获得虾米VIP季卡 复制链接去分享

短信验证功能即是一条验证绑定手机信息的快车道,也是一条便于被薅羊毛的垃圾短信轰炸机制。短信验证功能设置关卡会导致用户流量的丧失,如何更优化短信验证机制、用户更换号码这类被动发送验证机制才是短信机制中最大的问题,不知道通过感知验证机制能否降低这一类的问题风险

0

whosoft 已获得阿里云代金券 复制链接去分享

阿里的短信我接触的还是比较多,从阿里大鱼,到阿里云短信服务。
好像只有阿里大鱼,控制台才有ip白名单的设置。阿里云是没有限制的吧。
但如果你限制了只能在你的网站域名下使用,短信还是被刷掉 ,说明对方就是用你的网站域名下的网址进行刷的。

发送短信时,不要直接发送,而是在发送前先输入验证码,验证码正确,再调用短信发送接口,这样可以有效的防止预充值的费用不会被刷掉。

还有建议最好不要一次性充值太多,你一次充个十几二十元,就算被刷,也损失不了多少。

0

aoteman675 已获得阿里云代金券 复制链接去分享

1、发送的短信都有产品名称的,这个验证码在别的网站上也用不了,只有在我们网站上才有效,他拿来有什么用?短信轰炸,半夜骚扰,诈骗?
哈哈哈,同行竞争,必有一伤,服务器受到攻击很正常。DDos攻击把你的服务器搞瘫痪了,幸亏是测试用的,还是走的是公网。搞几套防火墙拒绝服务就行了。还有把可疑目标IP隔离也是可以的啊。其实说不定哪个实验室做攻击测试呢,恶作剧也不一定。看这轰炸也并没有造成什么数据损失,黑客扫描端口,玩一下而已。
2、业内是否存在黑幕交易,比如提供商找人代刷?
手机刷下载和注册量,某宝有这种操作,提供虚拟手机号,然后注册验证码。看log日志应该是批量操作,不过测试的公网IP怎么泄露出去的?防火墙是自己公司修补的吗,还是提供商操作的?
3、如果短信接口添加用户密码等验证参数,写入APP中,有没有推荐的加固方法可以防止反编译?
反编译总有办法破解的,看你的机器码可以吧,数据抓包可以吧,这种固定的密码不安全,一个被攻破,你的系统全部瘫痪,防止反编译目前360加固宝还是可以的,首先自身混淆再加固。
4、我是提供一个WebAPI供APP端调用,那么随机码校验、拖动验证都比较容易模拟,图形校验码不适用(即使用也有图形识别类的功能),针对这个问题我应该采用哪些技术方案?比如限制同一IP单位时间访问次数、同一手机号码单位时间发送次数、发送一条之后需要60——120秒才能请求第二次。
手机号的出口IP很多是一样的,但是可以在软件层面对同一手机号码限制次数,电脑网站web可以限制ip发送次数与时间间隔。12306那样的验证码就很好,机器很难识别。
5、有没有短信服务商把这些问题都搞定了,我只管简单的调用就可以了?
Mob移动开发者服务平台,bmob短信平台,网易云信短信平台,阿里云短信服务,目前我就知道这些有,根据应用场景都用过。

0

luckyj 复制链接去分享

广告、积分、优惠券、折扣、有奖注册是企业获客或提高用户活跃度的常用手段。然而这些优惠却进入了黑灰产的口袋,损害了用户合法权益,更扰乱了日常运营。千伏安全反欺诈防控体系,能够有效防范各类营销风险,保障业务健康运行。KV羊毛盾,在源头拦截羊毛党,为活动保驾护航,每一笔活动经费都花在真实用户上,免费使用https://www.kvsec.cn

0

正禾 复制链接去分享

针对你的问题一一对应回答:
1.短信轰炸的主要目的是进行业务骚扰,影响业务,同时可能会造成资损;
2.应该是存在的;
3.关于加固可以参考第三方的移动安全服务公司,比如阿里聚安全等第三方的安全服务厂商,有针对APP安全检测和加固的解决方案;
4.策略有很多,都是为了提高攻击门槛和成本,根据实际情况搭配选择,供参考:https://mp.weixin.qq.com/s/Wf_JhUZrTjqDeWfGyLBsmQ
5.卖车的不管你如何开车,把车开好,还是需要自己去用心。

0

爱丽娅 复制链接去分享

"没做什么安全措施,公网可访问"。这句就够了,因为太容易了,这真怪不得别人了。

0

云电脑 复制链接去分享

0

1593915053751997 复制链接去分享

网页中最简单的方式就是图形验证码了吧,简单粗暴,就是作为用户,都不太喜欢填验证码。

0

lizh 复制链接去分享

设置白名单就ok啦

0

l-i.win 复制链接去分享

既然有下发日志为何不加一点限制条件呢😓

0

吉美设计 复制链接去分享

来学习的!

0

海阔天空yy 复制链接去分享

已经发出去了,再怎么想也只能是想各种方法补救
但这个测试接口叫人随便调用肯定是有漏洞的,你至少得从接口层作个记录,比如加个用户名之类的,就能知道是谁调用的,也能找到责任人。

0

changyd 复制链接去分享

每天都会收到垃圾短信。各种广告

0

nothingfinal 复制链接去分享

是否招人恶意攻击,向网警举报

3