`
pcajax
  • 浏览: 2162311 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

网站安全之XSS漏洞攻击以及防范措施

阅读更多

在网站开发中,安全问题是重中之重的问题,特别像一个sql注入,XSS漏洞攻击,等的防范,如果不做好,网站将存在很大的隐患

XSS漏洞是网站漏洞中最容易出现的一种,至少现在的各大网站中基本都存在,传闻只有gmail是唯一一个完全不存在的,或者说攻击者没找出漏洞的,也许是因为XSS漏洞看起来危害并不是那么的大吧,所以基本上没有得到过太大的重视,从而也就造成了这么多的网站存在着一些很简单就能发现的XSS漏洞,在这篇blog中以我这个网站安全的外行人的角度来侃侃XSS漏洞攻击以及防范的措施。

<script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>

XSS漏洞的出现简单来说,就是让不支持富文本的区域支持了富文本的执行,例如blog的标题是不支持富文本的,但由于页面显示时没去做处理,导致了可以在标题中嵌入像文本加粗、变颜色等等的普通HTML,当然,攻击者也就可以嵌入恶意的javascript了,例如获取你在当前网站的cookie的javascript:document.cookie等等,另外一种就是支持富文本的区域没有去过滤一些恶意的javascript,例如blog的文章内容中内嵌获取cookie等恶意的javascript代码,这两类现象太多了,反倒是富文本的区域会好一些,例如多数论坛采用的UBB等等,而且对于富文本,大家都会比较重视,但反而是非富文本区域,很容易忽略其会产生XSS漏洞。

上面说的好像有些太抽象了,举个例子来说吧,例如blog的标题,假设在存到数据库的时候是直接将blog标题文本框中的内容存储,在显示的时候直接用$blog.title这样的方式去显示的话,那么只要在blog标题中输入<script>alert(document.cookie);</script>,然后保存,在显示的时候这段javascript就会被正常执行了,虽然这样的看似没有什么大的危害,但攻击者同样不会采取这么简单的方式,例如可以直接给你一段经过url编码的串,而其中就是利用网站的XSS漏洞将你的cookie信息发送至一个攻击性质的记录cookie的网站等,又或者完全可以利用网站的XSS漏洞埋上一段隐藏的img来嵌入这样而已的url,那么你的cookie就会不知不觉的被盗用,而偏偏现在大部分的网站都是借助cookie来代表用户的身份,这样,当攻击者拿到cookie之后,也就可以假冒你的身份大摇大摆的进入相应的网站了。

<script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>

上面说的是比较典型的一种XSS漏洞产生的情况,另外一种比较典型的是dom xss的情况,这种情况多数是攻击者利用直接闭合标签,从而执行恶意的javascript代码,例如页面中有个文本框,这个文本框的内容在提交后会被记录并继续显示在结果页面的文本框架中,假设第二个页面中文本框是这么写的:<input type=text value="$!prevPage.someText">,那么只要在前一页面中输入"><script>alert(document.cookie);</script>这样的内容,在第二个页面显示的时候就会变成:<input type=text value=""><script>alert(document.cookie);</script>>,攻击者通过闭合input标签实现了执行恶意的javascript代码,同样,如果你的javascript中也有类似的读取url参数或前页提交的内容,又或数据库中的内容的话,攻击者都有可能利用这种闭合标签的方式来实施攻击。

这样看起来,产生XSS漏洞的地方确实可能会有很多,说完上面这些,大家估计仍然觉得xss漏洞即使被利用也没什么吧,确实,也许xss漏洞只能做到盗用个用户cookie来玩玩,但是一旦它盗用了cookie,然后再结合一些其他的攻击手段,例如csrf的话,很有可能会造成非常严重的后果,当年的MySpace攻击事件就源于此,更何况对于大部分的网站来说,用户身份被盗也不是什么好事。

因此还是有必要对XSS漏洞进行防范的,根据上面阐述的XSS漏洞产生的原因来说,对于非富文本的区域来讲,其实只需要对其进行HTML编码就没问题了,而对于富文本的区域,则相对麻烦一些,需要有一个有效的过滤攻击性质的html代码的方式,但这个确实很难很难完全做到100%的防范,因为编写恶意html代码的方式实在太多了,url编码方式,注释方式,十六进制方式等等,完全无法穷举,但目前出现在网站中的,其实大部分都是非富文本的XSS漏洞,只要对这些非富文本的XSS漏洞进行了防范的话,至少可以很大程度的提升网站攻击的门槛,不至于被一些很简单的攻击手段攻击,像freemarker模板中,可以直接支持变量字符的html编码,例如${user?html}这样的方式就可以了,还是很简单的,:)。

分享到:
评论

相关推荐

    web安全之XSS攻击及防御pdf

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

    安全漏洞XSS攻击方法详解

    XSS(跨站脚本攻击)是网络安全领域中一种常见...理解XSS的工作原理、潜在危害以及防范措施对于维护网络安全至关重要。开发者需要实施严格的输入验证和输出编码,而用户则需谨慎处理网络交互,以降低被XSS攻击的风险。

    搜索框——不能忽视的XSS漏洞—搜索框所引起的XSS漏洞

    **防范XSS漏洞的措施** 1. **数据过滤与转义**:对用户输入的数据进行严格的检查和转义,避免包含HTML标签和JavaScript代码。 2. **使用HTTP头部的Content-Security-Policy**:限制浏览器仅执行指定来源的脚本,...

    DedeCMS 存储型xss漏洞1

    【DedeCMS 存储型 XSS 漏洞1】详解 DedeCMS 是一款广泛使用的基于PHP的开源网站管理系统,其特色在于提供了一个简洁易用的后台管理界面...通过这些措施,我们可以显著降低网站遭受XSS攻击的风险,保护用户数据的安全。

    XSS漏洞扫描 XSS漏洞扫描

    XSS漏洞分为三种类型:反射型XSS、存储型XSS和DOM型XSS,每种都有其独特的攻击方式和防范策略。 1. 反射型XSS(Non-Persistent XSS): 这是最常见的XSS类型,通常发生在URL参数中。攻击者通过构造带有恶意脚本的...

    XSS漏洞

    标签中的“工具”可能指的是可以用来检测和防御XSS攻击的工具,如OWASP ZAP、Burp Suite等安全测试工具,它们可以帮助开发者识别潜在的XSS漏洞,并提供修复建议。 压缩包中的文件“PHP中SQL注入与跨站攻击的防范....

    XSS跨站脚本攻击在Java开发中防范的方法

    XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的安全威胁,它利用Web应用程序的安全漏洞,将恶意脚本注入到合法的网页中,进而攻击最终用户。XSS攻击主要分为以下两种类型: 1. **存储型XSS**(Persistent ...

    YXcms-含有存储型XSS漏洞的源码包

    综上所述,YXcms源码包中存在的存储型XSS漏洞是一个严重的安全问题,开发者在使用时应高度重视,采取必要的安全措施,以保护用户的数据安全。同时,这也提醒我们在使用开源软件时,要时刻关注安全更新,及时修补漏洞...

    web漏洞之XSS_TEST漏洞实践练习代码

    本资源"XSS_TEST漏洞实践练习代码"提供了实践XSS攻击与防御的平台,帮助学习者深入理解XSS的工作原理和防范措施。 XSS分为三种类型:存储型XSS、反射型XSS和DOM型XSS。 1. 存储型XSS:攻击者将恶意脚本存储在目标...

    360webscan解决xss漏洞

    当360 webscan检测到WordPress存在XSS漏洞时,就需要采取措施来修复这个问题,以保护网站的安全和用户的数据。 首先,我们需要理解XSS漏洞的基本原理。XSS漏洞主要源于Web应用程序未能正确地过滤或转义用户输入的...

    XSS 跨站脚本攻击及防范

    防范XSS攻击的主要措施包括: 1. 对用户输入进行严格的过滤和转义,避免将未经过滤的数据直接显示在页面上。 2. 使用HTTP头部的安全策略,如Content-Security-Policy,限制浏览器只能执行指定来源的脚本。 3. 使用...

    xss漏洞之进制转换

    以下是对XSS漏洞及其防范策略的详细解释。 1. **HTML标签注入**: XSS漏洞的基础是由于Web应用未对用户输入进行充分的过滤和转义。当用户可以在网页上插入HTML代码,如在论坛发帖时,攻击者可以插入`&lt;script&gt;`标签...

    (华科企业网站管理系统)hkqyglxt-含有存储型XSS漏洞的源码包.rar

    【标题】"(华科企业网站管理系统)hkqyglxt-含有存储型XSS漏洞的源码包.rar" 暴露了重要的网络安全问题,主要关注的是存储型跨站脚本( Stored XSS)漏洞。这个标题暗示了该源码包在设计时存在一个关键的安全缺陷,...

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

    XSS攻击(Cross-site Scripting,跨站脚本攻击)是一种常见的网络安全攻击手段,...随着5G、物联网等新技术的兴起,安全防护的挑战也会随之增加,因此对网络安全的认识和防范措施的了解,已经成为IT行业的必备知识。

    efucms-含有存储型XSS漏洞的源码包.zip

    **标题与描述解析** 标题"efucms-含有存储型XSS漏洞的...综上所述,efucms源码包中的存储型XSS漏洞是一个严重的安全问题,开发者和使用者都需要对此给予高度关注,采取相应的安全措施,以保护网站和用户数据不受侵害。

    Android安全之WebViewUXSS漏洞

    而UXSS(Universal Cross-Site Scripting,通用型跨站脚本攻击)则是另一种类型的漏洞,它不同于传统的XSS攻击,因为它不是基于某个特定网站的安全漏洞,而是利用浏览器或浏览器扩展程序的安全缺陷进行攻击。...

    基于PHP安全漏洞的Web攻击防范研究.pdf

    文件上传漏洞攻击的实例分析表明,该攻击方式多种多样,需要开发人员采取相应的防范措施。 防范措施: * 文件类型限制:限制上传文件的类型,防止恶意文件的上传。 * 文件大小限制:限制上传文件的大小,防止恶意...

    XSS漏洞研究综述.pdf

    XSS(Cross-Site Scripting,跨站脚本攻击)漏洞是一种常见的网络安全问题,攻击者通过在目标网站的网页中注入恶意脚本,使得访问该网页的用户在浏览器端执行这些脚本,从而达到窃取信息、劫持用户会话或破坏网站...

Global site tag (gtag.js) - Google Analytics