CodeLittlePrince/blog

网络安全-API接口攻击

CodeLittlePrince opened this issue · 0 comments

前言

相信很多网站都会遇到也不知道是谁,毫无目的刷网站的接口的事情。
尤其是短信接口,好像所有网站都会被人刷接口,十有八九都是短信接口的提供商找人干的。。。
其次,登录接口也是经常被刷地方,因为可以被破坏者用来爆破用户的密码。
然后,注册接口也是,不过因为国家强制要求手机号注册的原因,现在还好刷注册接口很难了。

防御方式

1、监控异常ip,发现异常ip,直接封ip(这种方法要是遇到使用肉鸡刷的人就没什么办法了)
2、使用验证码(这种方法缺点就是降低用户体验)
在实际项目中,这两种防御方式会一起使用。

这两种防御方式同样应用在爬虫的防御上。
由于验证码这东西市面上有很多种,而好的交互和用户的体验息息相关,那么,现在有哪些种类的验证码呢,我们又该怎么选择呢?

验证码分类

1、图形验证码(已淘汰)

缺点:用户体验差;攻击者可以用图像识别算法识别字母

2、坐标验证码(不推荐)

缺点:用户体验差;同样可以通过算法识别,然后模拟点击定位

3、滑块验证码

前几年比较火,几乎所有大网站都用了这种方法,但是也有问题 缺点:要是攻击者有了整套的图片资源,也能破解。极验验证码之前就因为滑块图片泄露,导致很多用他们家服务的网站被攻击了。后来他们紧急更新了滑块包和SDK(偷偷地),当时我们CTO打电话给他们才给我们说他们滑块资源被盗了,居然不也通知我们,我们问了才说,造成了公司的损失,浪费了人员的精力。

4、无感知验证码

最为代表性的就是谷歌的reCAPTCHA了,但是毕竟是谷歌服务,国内用起来还是很鸡肋的。 不过,国内也有了这样的解决方案,比如极验就出了这项云服务了,不过名字叫做“智能验证码”。

总结

无感知验证码可以说是目前最好的验证码解决方案了。
然而很多公司还是停留在图形验证码的阶段 ╮(╯_╰)╭