跨站脚本攻击 XSS
Cross Site Scripting
在页面中插入恶意脚本,当用户浏览页面时,脚本会自动执行,实现对网站的篡改。
反射型
将攻击代码放在url中,用户点击链接后,服务器将代码从url中取出,拼接在html中返回给浏览器,浏览器解析并执行返回的恶意代码。整个过程像一次反射存储型
将恶意代码存储到服务器中,只要用户浏览包含此恶意代码的页面,就会执行。DOM型
通过恶意脚本修改页面的 DOM 结构
防范措施
- CSP 内容安全策略
浏览器内置的一种防范XSS的机制。允许开发者创建一些规则,管理网站允许加载的内容,使扩展程序更加安全。 - 输入检查
对用户的任何输入都要进行检查、过滤、转义,将<script>作为纯文本输出,而不是执行js。
跨站请求伪造 CSRF
Cross Site Request Forgery
攻击者盗用用户身份发送恶意请求,欺骗用户的浏览器去访问一个用户曾经认证过的网站,并执行恶意操作(如转账)。由于浏览器曾认证过该网站,携带了用户cookie,所以请求会被接收。这是利用网站本身的漏洞

防范措施
- 验证码
确保每一次请求用户都是知情的,是最简洁而有效的方法。 - token验证
为http请求增添攻击者无法伪造的东西,比如token。客户端首次登陆成功后,会收到一个服务端签发的token,客户端将其存储起来,之后每次向服务端请求资源时都带着这个token。服务端收到请求后,验证token是否正确,正确则返回请求的数据,否则就视其为攻击者 拒绝这个请求。
可以把token隐藏在请求的header中。 - Referer验证
请求的header中有一个referer字段,指页面请求来源。
通过设置这个字段,使服务器只响应本站的请求;如果不是,就拦截。
分布式拒绝服务 DDOS
Distributed Denial of Service Attack
利用大量分布式服务器(僵尸网络)对目标发起大量请求,耗尽服务器资源,使其无法响应正常访问,造成网站下线。

- 资源消耗型攻击
通过大量请求消耗正常的带宽和协议栈处理资源的能力,使服务器过载并崩溃。 - 服务消耗型攻击
让服务端始终处理高消耗型业务的忙碌状态,进而无法对正常业务进行响应。
防范措施
- 备份网站
正式服务器一旦崩溃,可以切换到备份网站,通过临时主页展示信息。 - 请求拦截
拦截恶意请求的IP段,可以架设硬件防火墙,也可以在服务端过滤请求。 - 带宽扩容
让网站在短时间内急速扩容,顶住大流量的需求
1)云服务商的防护产品,用冗余带宽来消化DDOS攻击。
2)CDN缓存,将网站静态资源分发到多个服务器,用户就近访问 提高速度。
Sql 注入
将恶意SQL语句插入到Web表单递交、输入域名或页面请求的查询字符串,欺骗服务器执行恶意SQL命令。
防范措施
- 避免将用户输入直接放入SQL语句中,最好使用参数化查询
- 限制数据库权限和特权,将数据库用户的功能设置为最低要求