您的位置:首页 > 理论基础 > 计算机网络

网络安全知识之XSS介绍

2017-12-03 21:42 711 查看


1、XSS简介

跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

XSS跨站漏洞如此普遍和流行的主要因素有如下几点:
web浏览器本身的设计是不安全的,浏览器包含了解析和执行javaScript等脚本语言的能力,这些语言可以用来创建各种丰富的功能,而浏览器只会执行,不会判断数据和代码是否恶意。
输入和输出是web应用程序最基本的交互,在这过程中,若没有做好安全防护,Web程序很容易出现XSS漏洞。
现在的应用程序大部分是通过团队合作完成的,程序员之间的水平层次不齐,很少有人受过正规的安全培训,不管是开发程序员还是安全工程师,很多没有真正意识到XSS的危害。
触发跨站脚本的方式非常简单,只要像HTML代码中注入脚本即可,而且执行此类攻击的手段众多,譬如利用CSS、Flash等。XSS技术的运用灵活多变,做到完全防御是一件相当困难的事情。
随着Web 2.0的流行,网站上交互功能越来越丰富。Web 2.0鼓励信息分享与交互,这样用户就有了更多的机会去查看和修改他人的信息,比如通过论坛、blog或社交网络,于是黑客也就有了更广阔的空间发动XSS攻击。


2、XSS的危害

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

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

盗窃企业重要的具有商业价值的资料
非法转账
强制发送
4000
电子邮件
网站挂马
控制受害者机器向其它网站发起攻击


3、XSS漏洞的分类

XSS漏洞按照攻击利用手法的不同,有以下三种类型:
类型A,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:
Alice给Bob发送一个恶意构造了Web的URL
Bob点击并查看了这个URL。
恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。
Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。

类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:
Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。
Charly发现Bob的站点包含反射性的XSS漏洞。
Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。
Alice在登录到Bob的站点后,浏览Charly提供的URL。
嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。

类型C,存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:
Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
Charly注意到Bob的站点具有类型C的XSS漏洞。
Charly发布一个热点信息,吸引其它用户纷纷阅读。
Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。
类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用。


4、XSS攻击实例

新浪微博XSS受攻击事件
去掉supply后台xss过滤器,可以实现xss攻击


5、防御措施

应用程序增加强壮的XSS过滤器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: