随着互联网与浏览器的发展,我们能在浏览器上做越来越多的事情,比如看电影、听音乐、购物、玩游戏….我们在享受着技术给我们带来便利的同时,也伴随着更多的风险,因为可以做的事情多了,那么黑客可以利用的漏洞也就更多了,攻击手段也就更多种多样,这篇文章就准备聊聊现在web领域常见的一些攻击,从而可以让我们思考在平时的开发中如何去规避这些攻击,废话不多说,开搞!

bqb

现在web领域常见的攻击有如下种类

由于XSS和CSRF我准备单独写两篇文章来讲解它们,所以接下来除了它俩之外,其他的就分别浅谈一下各类攻击的方式与危害,从而可以对web攻击有一个系统的认知,开始吧~

点击劫持

实现的步骤如下

这种方式其实就是一个障眼法,利用iframe不可见,从而达到欺骗的目的,要想规避这种攻击,有如下方式

CDN劫持

现在web应用为了提高性能,往往会把很多静态资源诸如图片、js、css都放在CDN上,这样就可以提高网站的加载速度,但是如果黑客攻击了CDN服务器,修改了静态资源,那么用户就会访问到被污染的资源,从而达到黑客的目的

opener攻击

在网页中进行新标签的跳转,一般有两种方式

看上去没问题,但是opener攻击实现的核心就是利用新跳转的网页可以通过 window.opener 访问到原页面的 window 对象,从而可以做任何黑客想做的事情,例如在用户不知情的情况下,将原网页重定向到黑客的网站,从而可以达到窃取用户信息的目的

要规避这种攻击,上述两种跳转方式需要如下调整

DNS劫持

DNS是一个将域名映射为IP的系统,如果黑客将DNS服务器劫持了,那么它就可以修改域名到IP的映射关系,从而将一个正常的域名解析到黑客的服务器IP,从而实现攻击的目的

SQL注入

SQL注入即是指web应用程序对用户输入数据的 合法性 没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加 额外的 SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行 非授权 的任意查询,从而进一步得到相应的数据信息

SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。如Web应用程序的开发人员对用户所输入的数据或cookie等内容不进行过滤或验证(即存在注入点)就直接传输给数据库,就可能导致拼接的SQL被执行,获取对数据库的信息以及提权,发生SQL注入攻击

规避SQL注入的主要防范措施就是加强对用户输入的 校验与过滤,前后端都要做,这样才能最大程度避免SQL注入的发生

结语

这篇文章浅谈了目前在web领域常见的一些攻击种类,在下一篇文章中,我将详细聊聊关于XSS攻击的东西,敬请期待吧~