`
jadylen
  • 浏览: 3953 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

XSS攻击的危害

 
阅读更多
XSS攻击的危害包括
  1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
  2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  3、企业重要的具有商业价值的资料
  4、非法转账
  5、强制发送电子邮件
  6、网站挂马
  7、控制受害者机器向其它网站发起攻击
  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的XXS漏洞。
  Charly发布一个热点信息,吸引其它用户纷纷阅读。
  Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。
  类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用,目前天清入侵防御产品所能防范的XSS攻击包括类型B和类型C。
 2、XSS攻击防御
  基于特征的防御
  XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。
  传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。如, 对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含 “javascript”,就认定为XSS攻击。这种检测方法的缺陷显而易见:骇客可以通过插入字符或完全编码的方式躲避检测:
  躲避方法1)在javascript中加入多个tab键,得到   
<IMG SRC="jav ascript:alert('XSS');">
  躲避方法2) 在javascript中加入&#x09编码字符,得到
<IMG SRC="jav&#x09;ascript:alert('XSS');">
  躲避方法3) 在javascript中加入字符,得到   
<IMG SRC="jav&#x0A;ascript:alert('XSS');">
  躲避方法4)在javascript中的每个字符间加入回车换行符,得到
<IMG SRC="j\r\na\r\nv\r\n\r\na\r\ns\r\nc\r\nr\r\ni\r\np\r\nt\r\n:alert('XSS');">   
   躲避方法5)对"javascript:alert('XSS')"采用完全编码,得到
<IMGSRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
  上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的还存在大量的误报可能:在上面的例子中,对"http://www.xxx.com/javascript/kkk.asp?id=2345"这样一个URL,由于包含了关键字“javascript”,也将会触发报警。
  基于代码修改的防御
  和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免:
  步骤1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
  步骤2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
  步骤3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。
  当然,如上操作将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞。
  正是由于传统检测方法存在诸多缺陷,国内厂商(如启明星辰天清入侵防御系统)并未采用这一方法,而是采用了基于攻击手法的行为检测方法。  
  首先对各种场景下的XSS攻击样本库进行整理和分类,并建立起XSS攻击行为特征库,在实时攻击检测阶段,对所有可能实现XSS攻击的数据来 源,如HTTP-Refere、URL、COOKIE、表单数据等,进行数据收集和初步分析,存在注入脚本的用户提交信息才进入下一步的XSS攻击判断。
  这种分析方法有以下几点优势:
  A:采用行为特征库而非数据特征库方式,可以避免由于检测固定特征导致的误报可能。
  B:内置数据预处理过程,可以对所有可能包含XSS攻击的数据进行预处理,放行大部分正常HTTP请求,仅对少量疑似事件进行深入分析,提升分析速度,降低资源开销。
  C:XSS攻击行为特征库维护由启明星辰公司AD-LAB(积极防御实验室)和博士后工作站负责,AD-LAB拥有大批漏洞发掘和分析人 员,2007年发现并获得CVE编号的漏洞数量多达26个,是国内独立发掘CVE漏洞数量最多的团队。启明星辰博士后工作站是业内第一家驻企业的信息安全 博士后工作站,为产品算法实现、研究技术转化提供有力保障。
  3、综论
  XSS攻击作为Web业务的最大威胁之一,不仅危害Web业务本身,对访问Web业务的用户也会带来直接的影响,如何防范和阻止XSS攻击,保障Web站点的业务安全,是定位于业务威胁防御的入侵防御产品的本职工作。只有结合对XSS攻击的分析,才能能准确的发现和防御各类XSS攻击行为,保障Web业务的正常运营。



HetaoBlogXssHTMLFilter- 改进了一个java版开源的xss html filter
搞防止xss的时候,找了一圈发现比较简单易用的属于这个,

http://xss-html-filter.sourceforge.net/

下面是作者的页面

http://josephoconnell.com/java/xss-html-filter/

不过这个xss html filter有个问题,不支持对属性值的过滤设定,

简单的说,下面的style是合法的
<span style=”color:#121212;”></span>

下面的style是非法的,有xss攻击漏洞

<span STYLE=”xss:expression(alert(‘XSS’))”>2</span>

但是原来的版本只能要么支持style属性,要么不支持style属性,不能设置支持style里面的某些内容

所以我改进了一下,代码在这里,欢迎提出改进意见

http://hetaoblog.googlecode.com/files/HetaoBlogXssHTMLFilter.java

我喜欢简洁的修改代码完成,所以设置的允许的html元素、属性和属性的值直接修改构造函数:)

使用上:

* 1. 修改构造函数 HetaoBlogXssHTMLFilter() 选择允许的html元素、属性和属性的值

下面是部分例子

{
final ArrayList<Attribute> span_atts = new ArrayList<Attribute>();
Map<String, Pattern> allowedAttrValues = new HashMap<String, Pattern>();
allowedAttrValues.put(“color”, Pattern.compile(“(#([0-9a-fA-F]{6}|[0-9a-fA-F]{3}))”));
allowedAttrValues.put(“font-weight”, Pattern.compile(“bold”));
allowedAttrValues.put(“text-align”, Pattern.compile(“(center|right|justify)”));
allowedAttrValues.put(“font-style”, Pattern.compile(“italic”));
allowedAttrValues.put(“text-decoration”, Pattern.compile(“underline”));
allowedAttrValues.put(“margin-left”, Pattern.compile(“[0-9]+px”));
allowedAttrValues.put(“text-align”, Pattern.compile(“center”));

span_atts.add(new Attribute(“style”, allowedAttrValues));
vAllowed.put(“span”, span_atts);
}

{
final ArrayList<Attribute> div_atts = new ArrayList<Attribute>();
div_atts.add(new Attribute(“class”));
div_atts.add(new Attribute(“align”));
vAllowed.put(“div”, div_atts);
}
* 2. 调用类似这样的函数String outHtml = HetaoBlogXssHTMLFilter.filter(sourceHtmlString);
分享到:
评论

相关推荐

    关于pdf文件xss攻击问题,配置xssFilter方法

    PDF文件XSS攻击问题主要指的是攻击者通过构造恶意的PDF文档,利用其中的脚本语言功能,尝试在用户的浏览器上执行跨站脚本攻击(XSS)。这种攻击方式可能导致敏感信息泄露、用户权限滥用或其他安全风险。在SpringBoot...

    预防XSS攻击和SQL注入XssFilter

    一、什么是XSS攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如...

    防止XSS攻击解决办法

    XSS攻击可能导致以下危害: - 用户cookie、会话令牌等敏感信息被盗取,导致身份冒用。 - 用户被重定向到恶意网站,进一步遭受其他攻击。 - 浏览器被控制,执行恶意操作,如安装恶意插件。 三、防止XSS攻击的策略 1....

    web安全之XSS攻击demo

    本篇将深入探讨XSS攻击的概念、类型、危害以及防范措施,并结合提供的"web安全之XSS攻击demo"进行详细讲解。 XSS攻击是通过注入恶意脚本到Web页面中,使得当其他用户浏览这些页面时,脚本被执行,从而可以盗取用户...

    web安全之XSS攻击及防御pdf

    ### Web安全之XSS攻击及防御 #### 一、XSS基本原理 ##### 1.1 什么是XSS 跨站脚本攻击(Cross-Site Scripting,简称XSS)是一种常见的Web应用程序安全漏洞,其形成原因主要是由于Web应用程序对用户输入的数据过滤不...

    安全漏洞XSS攻击方法详解

    XSS攻击的危害不容忽视。虽然简单的XSS攻击可能只是弹出一个对话框,但攻击者可以通过这种手段执行更复杂的操作。例如: 1. **窃取Cookie值**:攻击者可以利用XSS获取用户的登录Cookie,这相当于用户的登录凭据。...

    XSS跨站脚本攻击漏洞修复方法

    本文将深入探讨XSS攻击的类型、危害,并提供一系列有效的修复策略。 ### XSS攻击类型 1. **反射型XSS(Non-Persistent XSS)**: 这种类型发生在用户请求URL中包含恶意脚本并被服务器原样返回到浏览器时。例如,...

    如何防御XSS攻击.zip

    下面将详细阐述XSS攻击的原理、危害以及防御策略。 一、XSS攻击原理 XSS攻击通常分为三种类型:存储型XSS、反射型XSS和DOM型XSS。 1. 存储型XSS:攻击者将恶意脚本插入到服务器端,例如在论坛发帖或评论中。当其他...

    百度内部通用XSS攻击解决方案探讨培训ppt

    百度内部通用XSS攻击解决方案探讨培训ppt 本资源为百度内部通用XSS攻击解决方案探讨培训ppt,主要介绍了百度内部通用XSS攻击解决方案的探讨培训内容。下面是从该资源中提取的知识点: 1. 问题现状:XSS攻击的数量...

    解决XSS跨站脚本攻击

    基于DOM的XSS攻击则更加微妙,它不依赖服务器响应,而是利用JavaScript的Document Object Model (DOM)来执行恶意代码。攻击者可以通过改变DOM树中的某些元素,使恶意脚本在用户交互时执行。这通常需要对网站的...

    XSS攻击检测

    下面将详细阐述XSS攻击的基本概念、类型、危害以及防范措施。 一、XSS攻击概述 XSS攻击的核心在于攻击者能够通过注入恶意JavaScript、HTML或其他可执行脚本到网页中,进而影响到那些访问该页面的用户。这种攻击通常...

    扫描sql注入与xss攻击的牛b工具

    **XSS攻击**则涉及在Web页面中嵌入恶意脚本,当用户访问这些页面时,脚本会在他们的浏览器中执行,可能导致信息泄露、会话劫持等危害。XSS分为三种类型:反射型、存储型和DOM型。防范XSS攻击的关键在于: 1. 对所有...

    XSS跨域攻击讲义

    #### 四、XSS攻击的危害 - **网络钓鱼**:攻击者通过注入恶意脚本获取用户的登录凭证,进而实施诈骗。 - **窃取Cookies**:通过注入脚本读取并窃取用户的Cookies,进而获取敏感信息或模拟用户身份执行操作。 - **...

    网络安全攻击方式XSS初探.pdf

    XSS攻击的危害是多方面的。首先,攻击者可以获取客户端的信息,如用户浏览历史、真实IP地址、开放端口等敏感信息,并将其发送回攻击者。此外,XSS攻击可以结合其他漏洞,比如CSRF(跨站请求伪造),进行更进一步的...

    开发安全培训(XSS攻击&SQL;注入).pdf

    XSS攻击的危害包括修改网页内容、窃取Cookie、重定向网页、网站挂马/钓鱼以及XSS蠕虫等。XSS攻击的防御措施包括服务器端的预防,如输出编码htmlentities()、使用httponly、限制来源IP、输入验证(类型、长度、正则...

    xss跨站脚本攻击与预防

    综上所述,了解XSS攻击的原理、危害以及防御措施对于构建安全的Web应用至关重要。通过阅读《XSS跨站脚本攻击剖析与防御(完整版).pdf》,我们可以深入学习这方面的知识,并结合实际项目中的`xss-html-filter`工具来...

    XSS跨站脚本攻击剖析与防御

    第8章 防御XSS攻击,介绍了一些防范XSS攻击的方法,例如,运用XSS Filter进行输入过滤和输出编码,使用Firefox浏览器的Noscript插件抵御XSS攻击,使用HTTP-only的Cookies同样能起到保护敏感数据的作用。

    XSS跨站脚本攻击剖析与防御.pdf

    第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击...

    XSS跨站攻击

    #### 二、XSS攻击的危害 XSS攻击可能导致多种严重后果,包括但不限于: 1. **盗取用户账号**:包括登录账号、网银账号以及各类管理员账号。 2. **控制企业数据**:能够读取、篡改、添加甚至删除企业敏感数据。 3. ...

Global site tag (gtag.js) - Google Analytics