浅谈如何防范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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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