常见的web攻击及其防御
一、XSS(跨站脚本攻击)
攻击者在 Web 页面中插入恶意脚本,当用户浏览页面时,促使脚本执行,从而达到攻击目的
解决方式:
1、从客户端和服务器端双重验证所有的输入数据,这一般能阻挡大部分注入的脚本
2、对所有的数据进行适当的编码
3、设置 HTTP Header: "X-XSS-Protection: 1"
二、DDos分布式拒绝服务
发送大量请求,使服务器瘫痪
解决方式:
1、检测技术,检测网站是否正在遭受 DDoS 攻击
2、清洗技术,清洗掉异常流量。
三、CSRF跨站请求伪造
用户本地存储cookie,攻击者利用用户的cookie进行认证,然后伪造用户发出请求
解决方式:
1、检查标准头部,确认请求是否同源
2、检查 CSRF Token
四、SQL注入
通过用户输入,拼接成恶意sql,并执行
解决方式:
1、参数化的查询语句可以强制应用开发者首先定义所有的 sql 代码,之后再将每个参数传递给查询语句
2、使用语言自带的存储程序,而不是自己直接操纵数据库
3、验证用户的输入
4、对用户提供的所有的输入都进行编码