关于短信 api 接口被刷有什么防御办法吗?

2017-09-27 02:11:07 +08:00
 luo362722353

代朋友咨询一下,当 IP 数和手机号数相当的前提下,然后通过网站的密码找回接口进行对用户的手机下发验证,导致骚扰到了用户。 就是比如有 1000 个手机号,然后 10000 个 IP 地址,每个 IP 和手机号就访问一次网站的找回密码功能,而且不带重复手机号请求和 IP 请求,等于 IP 和手机号都只请求一次。(类似短信的分布式攻击)

PS:目前可以想到的是 IP 访问请求归属和手机号归属省份比对数据才触发验证码下发

但是如果正常的用户漫游到其他身份用什么方式可以正常下发验证码?有什么可行性的办法?(让用户主动上行指令短信进行验证?)

6161 次点击
所在节点    问与答
18 条回复
oh
2017-09-27 02:30:13 +08:00
一般来说完整手机号码应该是找回密码的人输入的吧,相当于一个检验,如果手机号码不在数据库中也就不会发送短信了;

同一 IP 调用短信接口太多次就屏蔽 24 小时;

增加复杂的验证码 提高攻击者成本;

当天整个网站找回密码次数太多之后,可以改成由手机号码持有人发送指定内容短信到端口;
luo362722353
2017-09-27 02:31:47 +08:00
@oh 关键在于对方有网站的部分用户数据手机号..
mozutaba
2017-09-27 02:33:56 +08:00
10 分钟超过 3 次就下发语音验证。
oh
2017-09-27 02:34:24 +08:00
如果对方是报复,临时关闭短信找回密码功能,由人工客服介入处理。

如果号码都是对方注册的,只是为了消耗你们的短信费,那号码全部拉黑。

其它的参考上面后两条。
oh
2017-09-27 02:35:19 +08:00
@mozutaba 下发语音岂不是更骚扰用户,本来收个短信就算了,现在变成电话一直响了。
zwgmlr3
2017-09-27 07:05:53 +08:00
关注微信找回密码……
mozutaba
2017-09-27 07:42:36 +08:00
@oh 发了语音就不再提醒了。
rogwan
2017-09-27 07:57:23 +08:00
对方已经是在模拟完全真实的用户行为了,没法防的。

方法:增加发短信的随机验证码吧。
DuckJK
2017-09-27 09:07:25 +08:00
加个复杂的验证码?
xmh51
2017-09-27 09:37:45 +08:00
@luo362722353 这个可以解决哎,学腾讯,由客户发短信。
odirus
2017-09-27 09:43:17 +08:00
哥们儿,你说的是这个吧?
odirus
2017-09-27 09:48:27 +08:00
@odirus

补充:

下载地址: https://app.yuanzidan.wang/ (查看网页源码即可找到下载地址)

授权码激活地址: http://www.yuanzidan.wang:99/

---------------------------------------------------------------------------------------------------

估计你是被这波人盯上了,这个 APP 就是到处分析别人的短信接口,然后放在自己的 APP 里面,卖授权码给别人,每个人下载之后都可以随便发短信,这就是所谓的 “分布式轰炸”

建议大家调戏一下这个网站,服务器在国内。
odirus
2017-09-27 09:52:33 +08:00
@odirus

再次补充,网站注册信息查询

https://cloud.baidu.com/product/bcd/whois.html?domain=yuanzidan.wang&track=cp:aladdin%7Ckw:23398

这个人留了自己的电话号码的,要不前去骚扰一下?

做这种事情,也不知道卖一个隐私保护,哎
mooncakejs
2017-09-27 09:53:09 +08:00
简单点就上验证码
irory
2017-09-27 10:00:26 +08:00
图片验证码走起呗 ~
nullcoder
2017-09-27 10:15:01 +08:00
嗯,看到过同一用户要求验证码次数过多的时候,要填图片验证码,应该是一个合适的实践。

因为要从正常用户的角度考虑,不能只从技术层面,还是要考虑产品设计。 #1 #4 #5 楼说的不太认同
eb22fbb4
2017-09-27 10:22:43 +08:00
文字短信的话防御无非就手机号,客户端相对唯一标识( IP ),验证码这些。如果人家模拟真实用户行为,没有什么太好的办法,但这个验证码是可以判断机器人的,比如 google 的 reCaptcha
cnTangLang
2017-09-27 10:54:11 +08:00
申请同一个手机号的验证码,同一天超过 2 次,从第三次开始需要输入验证码。验证码做好点就行了。这是最基本、最快捷的方法。当然,如果你的用户量大,如腾讯,就可以要求用户发短信到你的号码的方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393922

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX