Web攻击
常见的Web攻击
XSS、SQL注入、DDOS、CSRF
XSS
什么是XSS攻击?
XSS攻击:跨站脚本攻击,允许攻击者将恶意代码植入到其它用户使用的页面中,涉及到三方:攻击者、客户端、web应用。
主要目的:
盗取存储在cookie,获取cookie之后假冒用户与网站进行交互。
XSS分类(存储型、反射型)
1、存储型XSS:主要出现在让用户输入数据,供其他浏览此页的用户进行查看的地方,包括留言、评论、博客日志和各类表单等。应用程序从数据库中查询数据,在页面中显示出来,攻击者在相关页面输入恶意的脚本数据后,用户浏览此类页面时就可能受到攻击
流程:恶意用户的html输入web程序 ----进入数据库 -----web程序-----用户浏览器
2、反射型XSS:主要做法是将脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击类似的恶意链接就可能受到攻击。
防止XSS攻击
1、过滤特殊字符
2、使用http头指定类型
SQL注入
什么是SQL注入?
攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。
如何防止SQL注入
1、过滤掉一些常见的数据库操作关键字
2、提高数据库命名技巧,重要字段特殊命名,不易被猜到
3、对常用的方法加以封装,避免暴露SQL语句
4、配置的时候开启安全模式
5、使用mysql预处理
DDOS
什么是DDOS攻击?
DDOS:分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求是使服务器瘫痪。DDos攻击是在DOS攻击基础上的,可以通俗理解,dos是单挑,而ddos是群殴,因为现代技术的发展,dos攻击的杀伤力降低,所以出现了DDOS,攻击者借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标进行攻击。
预防DDOS攻击
阿里巴巴的安全团队在实战中发现,DDoS 防御产品的核心是检测技术和清洗技术。检测技术就是检测网站是否正在遭受 DDoS 攻击,而清洗技术就是清洗掉异常流量。而检测技术的核心在于对业务深刻的理解,才能快速精确判断出是否真的发生了 DDoS 攻击。清洗技术对检测来讲,不同的业务场景下要求的粒度不一样。
CSRF(跨站请求伪造)
什么是CSRF攻击?
攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。
预防CSRF攻击
简单来说,CSRF 就是网站 A 对用户建立信任关系后,在网站 B 上利用这种信任关系,跨站点向网站 A 发起一些伪造的用户操作请求,以达到攻击的目的。
而之所以可以完成攻击是因为B向A发起攻击的时候会把A网站的cookie带给A网站,也就是说cookie已经不安全了。
XSS攻击(关键是脚本,利用恶意脚本发起攻击),SQL注入(关键是通过用SQL语句伪造参数发出攻击),DDOS攻击(关键是发出大量请求,最后令服务器崩溃),CSRF攻击(关键是借助本地cookie进行认证,伪造发送请求)。