浅谈如何防范XSS攻击

一位安全咨询师在今年5月份利用Facebook的即时个性化功能成功的实施了跨站脚本代码攻击,这段代码在Facebook测试网站Yelp上运行,其结果是获得了大量的Facebook个人档案信息。并且在漏洞被修补上之后没多久,另一个XSS漏洞再次出现,迫使Facebook只得将即时个性化程序暂时取消。虽然防范XSS攻击已经是一个老话题,但是随着web2.0时代社交网站的兴起,防范XSS攻击又成为了一个焦点话题。

XSS简单入门

最常见的XSS攻击方法就是利用邮件:犯罪分子在一个普通的URL网址中添加一些特殊字符,例如添加几个外文字符。这些字符会适时地告知运行事先制作好的脚本的Web服务器,举例来说,一个攻击者给你的网上银行的网址中添加了这样一个脚本,然后发邮件给你。假如你相信这是来自你的网上银行的合法邮件,然后点击了邮件提供的链接地址,那么你的浏览器就会给那台Web服务器发送该脚本,这台服务器上所运行的恶意代码就会截获你的浏览器cookies和你的银行登录信息,转发给攻击者,后者便可登录进你的网上银行账号。

另一类XSS攻击会将恶意代码存放在一台Web服务器上。攻击者登录比如说一家电子商务网站,然后发送一条含有XSS跨站脚本的消息。数天之后,如果你登录了这家电子商务网站,阅读了这条不良消息,就会和前一类一样,该脚本盗取你的cookies和登录信息,并将其转发给犯罪分子,而他便可以冒充你了。

第三类XSS攻击是针对Web浏览器的。在这种情形中,攻击者会在你所访问的网站上放置一个带毒的Flash文件。当你的浏览器下载这段Flash视频的时候,该文件便会触发一个跨站脚本,攻击者便可掌控你的浏览器所浏览的页面元素。

Web 2.0和XSS

今天的很多网站在过滤常见的XSS供给方面都要比过去做得好。

假设你点击了A网站上的一个广告。但是你不知道的是,该广告含有一个跨站脚本,可以悄悄地将你的浏览器定向到B网站,比如一家旅游网站和社交网站彼此合作,那么前者便可通过你的点击而轻松获得你的社交网络档案。利用XSS攻击,你就成了一个牺牲品,你甚至不必去访问B网站,登录B网站,点击它上面的任何东西,你甚至可能都不知道B网站的存在。由于B网站已经截获了你的社交网络档案(可能还有你的好友们的档案),于是犯罪分子便可以躲藏在A网站的广告后面,大摇大摆地截获你的信息了。这就是Web 2.0的聚合功能带来的麻烦,也就是Facebook-Yelp的合作为什么会出现XSS攻击的原因。

自我保护

遗憾的是,网站还无法通过连接加密简单地防范XSS攻击。有SSL连接的网站,也就是你在浏览一个加密网站时在工具栏上会出现一个小挂锁的网站,也只不过是对攻击进行了加密而已。一般来说,网站设计人员必须锁定他们的网站才能防止XSS攻击。

不过用户也有两种方法可避免XSS攻击。其一是忽略一个网站到另一个网站的链接:比如说,如果A网站链接到somerandomsite.com/page,那么你如果先要上这个网站,最好不要去直接点击该链接,而是通过搜索功能去查找该网站。这种方法可有效防止嵌入在链接网址中的XSS攻击,但是这种方法用起来不太方便,而且当两个网站共享内容时就没办法用了。另外一种方法是在你的浏览器中禁用像JavaScript脚本语言。即便因此可能会让一些网站上的一些很不错的功能没法使用,只要你还能够容忍就行。

禁止危险脚本

IE8是第一款内置了XSS脚本拦截保护的浏览器。谷歌的Chrome也会紧随其后推出类似功能。这两款浏览器都会首先查看来自某个Web服务器的脚本是否是恶意的——如果是,就拦截它。在今年4月的黑帽欧洲2010大会上,研究专家David Lindsay和Eduardo Vela Nava却演示了一种可以破除这种拦截的办法,不过谷歌已经修复了Chrome中的这个漏洞。微软则在今年1月(补丁MS10-002)和3月(MS10-018)也已解决了大部分问题,并计划在6月修复第3个漏洞,所以在你读到这篇文章的时候,破除XSS脚本拦截的问题可能已经完全解决了。

Firefox的用户则可以利用免费的NoScrpit附加组件有选择地拦截脚本。比如说,你可以放行一段Flash视频,而同时拦截该网站上的其他脚本组件。IE和Chrome在拦截可疑脚本方面没有这么细的粒度——它们是要么全拦截,要么全不拦截。

NoScrpit也有一个问题,那就是大多数用户并不喜欢放行个别脚本的做法,因为这样会带来不便。不过拦截和放行今后可能会成为你的第二天性。你还可以对某个特定网站上的所有脚本进行认证,无论是为了一次性访问还是今后的所有访问,这样的认证如今在IE 8和chrome中也可以做了,使得防范XSS攻击实现更加可能。
 

【编辑推荐】

  1. 谈跨站脚本攻击与防御的正确应用
  2. 对跨站脚本攻击的全面了解
  3. 老话重提:防范跨站脚本攻击
  4. 全面解析跨站脚本攻击
  5. 使用工具和测试防范跨站点脚本攻击

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/151647.html<

(0)
管理的头像管理
上一篇2025-03-13 15:38
下一篇 2025-03-13 15:40

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注