内容提要
XSS跨站脚本攻击剖析与防御
本书是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。
第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击都不容忽视。第3章 XSS测试和利用工具,介绍了一些常见的XSS测试工具。第4章 发掘XSS漏洞,着重以黑盒和白盒的角度介绍如何发掘XSS漏洞,以便帮助读者树立安全意识。第5章 XSS Worm,讲解了Web 2.0的最大威胁——跨站脚本蠕虫,剖析了Web 2.0相关概念和其核心技术,这些知识对于理解和预防XSS Worm十分重要。第6章 Flash应用安全,就当前的Flash应用安全做出了深入阐述。第7章 深入XSS原理,讨论一些比较深入的XSS理论。第8章 防御XSS攻击,介绍了一些防范XSS攻击的方法,例如,运用XSS Filter进行输入过滤和输出编码,使用Firefox浏览器的Noscript插件抵御XSS攻击,使用HTTP-only的Cookies同样能起到保护敏感数据的作用。
本书适合网站管理人员、信息/网络安全或相关工作从业者、软件开发工程师,以及任何对Web安全技术感兴趣的读者。
序
XSS跨站脚本攻击剖析与防御
在2012年年末的时候,邱永华先生找到我,希望我能为他的新书作序,我也得以有幸提前拜读到了本书的手稿。
在我看来,本书的完成,是一件值得高兴的事情。因为这是国内第一本专门阐述XSS的著作,本书的问世,为学习Web安全的新人提供了充分的学习材料,也为安全从业者提供了一份不可多得的参考手册,最终也必然将推动大家对XSS安全技术的重视。
长期以来,XSS攻击的危害都没有得到大多数的开发者的正确认识,甚至有的网络安全工作者也认为XSS的“危害不大”。造成这种误解的原因是多方面的。
XSS攻击的危害与具体业务场景密切相关。不同的业务场景,会导致不同的网络安全问题,有的场景危害大,有的场景危害小。而XSS作为一种漏洞类型,在描述其定义时很难定位到具体的场景里去。XSS攻击的危害程度大小,依赖于业务场景的重要程度。
我在阿里巴巴工作期间,曾经负责处理淘宝、支付宝的钓鱼欺诈案件。当时就发现很多案件中,XSS漏洞被用于网购钓鱼。诈骗者将一个XSS链接通过即时通信软件发送给用户,用户单击后,会自动跳转到钓鱼网站的页面,最终造成资金损失。在这样的案件中,诈骗者利用XSS使得链接的域名是真实合法的网站,从而绕过了所有安全软件的检测。我当时曾经粗略估算过一个XSS漏洞造成的损失,如果算上用户损失的金额,以及网站的修复成本,在案件最猖獗的时候,每个XSS漏洞会带来超过50万人民币的损失。
除此之外,曾经有多起网络犯罪利用Web Mail的XSS漏洞窃取目标用户的邮箱,而这样的定点渗透攻击所造成的损失往往难以衡量。
XSS攻击与浏览器也密切相关,在不同的浏览器上有着不同的表现。随着互联网的发展,浏览器的版本更新非常迅速。因此,想要熟练地掌握XSS防范技巧,需要对不同浏览器的特性进行深入地了解。
相对于攻击服务端的漏洞来说,XSS的攻击目标是客户端。通常来说,网站开发者、网站安全工程师会更重视攻击网站服务器的安全漏洞。但是,站在用户的角度,或者说从整个互联网安全的角度来看,XSS的安全性应该得到很好重视。
XSS攻击能够控制目标用户的浏览器做任何事情,因此,也会造成用户数据、用户隐私的泄露。在数据时代这一点显得尤为敏感。但是,今天很多网站的用户数据并未得到妥善的保管,很多爬虫、第三方抓取软件都或多或少地能从网站上抓取到一些用户数据,这也许会使得XSS的危害看起来不是那么的突出。但本书将会告诉你,XSS能做到的事情可能会远远出乎你的想象,加以防范是很重要的。
可以毫不夸张地说,几乎每个网站都或多或少地存在一些XSS漏洞。这些众多的XSS漏洞就像互联网里的一片片“雷区”,谁也不知道它们什么时候会“爆炸”,造成损失。
随着JavaScript和HTML5技术的发展,越来越多的网站和移动应用开始使用更加高级的前端技术,因此,也必然会催生XSS攻击的升级。XSS攻击在未来十年可能会产生质的变化,而且也注定会是互联网安全领域内的一个值得长期关注的热点。
如果以前XSS安全被忽视的话,那么希望,从本书起,能够引起足够的重视。
研究XSS,从本书开始!
吴翰清(网名:刺)
于杭州
前言
XSS跨站脚本攻击剖析与防御
如果说现代Web安全中有什么不容忽视的事实,那便是XSS(Cross-site Scripting)跨站脚本成为了Web威胁之首。长期以来,跨站脚本作为最常见的计算机安全漏洞,在世界各地的网站上疯狂肆虐,即使最知名的网站,如Google、Facebook、微软官方网站等,也曾遭受过XSS漏洞攻击。然而,由于XSS属于被动式攻击且不易利用,所以一直不被重视。
“XSS?不就是弹出个对话框给自己看吗?!”
“反正XSS不能窃取我的root权限。”
“跨站脚本是在客户端执行,XSS漏洞关我什么事!”
“XSS等同于鸡肋漏洞。”
……
这些就是XSS跨站脚本给大部分人留下的印象。
作为一名Web应用安全研究者,我对XSS的态度迥然不同,并且认为XSS跨站脚本的危害不亚于缓冲区溢出、代码执行、SQL注射等安全漏洞。众所周知,XSS技术的运用方式灵活多变,利用它可以劫持浏览器用户的会话、窃取客户端Cookies、网络钓鱼等,在特定场景下或配合其他漏洞,威力会更大!尤其是近年来,结合Ajax动态网页技术、Web 2.0信息分享模式和社交网络,XSS衍生出类似蠕虫般具有自我复制能力的攻击形态,不但能在短时间内造成大量客户端用户受到攻击,还能使受害的客户端用户对服务器产生的大量请求,形同对服务器的分布式拒绝服务攻击(DDos)。
令人遗憾的是,目前国内还没有一本专门讲述XSS技术的书籍,以致于人们对这类漏洞、攻击缺乏一定程度的了解。
幸运的是,网络上始终有一群“跨站师”致力于XSS技术研究,并且无私地分享着他们的技巧,于是大家逐渐对XSS漏洞的危害产生了更深层次的认识。
本书通过讲述有关跨站脚本的知识,读者可以深刻地感受到跨站脚本的强大,并且详尽地了解许多与XSS相关的内容,例如,在什么环境下可以触发XSS,利用XSS漏洞可以做什么,如何防范此类攻击等。自始至终,本书贯穿着许多案例分析,读者可以在实际环境中进行安全测试。需要注意的是:本书的内容仅供学习之用,希望读者不要使用其中的代码和技术对其他网站发动攻击,否则后果自负。
由于这是本人第一次写书,其中难免有所错漏,欢迎读者斧正与交流!与此同时,希望本书可以对大家有所帮助。
归根结底,本书的真正目的是为了让大家理解XSS跨站脚本的危害并加以防范。
本书结构
全书总共8章,读者可以通过浏览目录以进一步了解各章的内容。在本书结尾,附上相关资料以及参考文献。
第1章 XSS初探 带读者走进XSS跨站脚本的世界,此章主要阐述了XSS的基础知识,包括XSS的攻击原理、危害以及一些常用技巧,理解本章对学习后面的内容至关重要。
第2章 XSS利用方式剖析 就当前比较流行的XSS利用方式进行深入阐述,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击都不容忽视。
第3章 XSS测试和工具剖析 **介绍了一些常见的XSS测试和利用的工具,前面4节主要讲述可测试XSS的工具,后面4节讲述XSS的利用平台。
第4章 发掘XSS漏洞 着重以黑盒和白盒的角度介绍如何发掘XSS漏洞,黑盒环境下可手动发掘XSS漏洞,也可以利用一些自动化测试工具;白盒环境下则可以通过分析代码的方式发掘XSS漏洞。
第5章 XSS Worm剖析 讲解了XSS的终极利用方式,也是Web 2.0的最大威胁——跨站脚本蠕虫,此章还介绍了Web 2.0相关概念及其核心技术、浏览器的安全等,这些知识对理解XSS Worm十分重要。
第6章 Flash应用安全 就当前的Flash应用安全进行深入阐述。尽管安全社区需经常修补一些XSS、CSRF和其他注入漏洞,但是,Flash的应用中提供了一种新的攻击类型,尤其是那些无防备的和未经严格测试的Flash应用程序。
第7章 深入XSS原理 讨论一些比较深入的XSS理论,其中涉及许多特殊的XSS技巧和应用场景,这些XSS将会对传统的跨站防御方案提出挑战。同时,此章还会讲到其他类型的Web安全漏洞,这些漏洞均与XSS息息相关。
第8章 防御XSS攻击 介绍了一些防范XSS攻击的方法,例如运用XSS Filter进行输入过滤和输出编码、使用Firefox浏览器的Noscript插件抵御XSS攻击等,而使用HTTPOnly的Cookies同样能起到保护敏感数据的作用。
读者
本书的读者应当熟悉网页技术,包括HTML和JavaScript,如果您还具备一些编程经验和网络安全的相关知识,便能更轻松地理解其中某些章节的内容。
本书读者对象包括:
网站管理人员;
信息/网络安全或相关从业者;
程序员/软件开发工程师,包括Web开发人员;
教授Web安全技术相关内容的教师;
任何对Web安全技术感兴趣的人。
致谢
出书是个浩大的工程,在本书写作期间,一直遇到很多困难,经历数月的时间才最终艰难完成!借此机会感谢所有使本书能够顺利出版提供帮助的朋友。
写书之前阅读和参考了大量XSS技术方面的文档,因此,本书汇聚了国内外许多安全研究员的研究成果和专业技能,在此一并表示感谢。
特别感谢吴翰清(网名刺)和钟晨鸣(网名余弦)先生,为本书提出的宝贵意见和指正。感谢我的家人和朋友,尤其是我的父母,你们为我付出很多!
在此,我要感谢活跃在Web安全圈子里的跨站师们,你们的公开文章和技巧让我学到了很多技术。
联系方式
邮箱:cnn4ry@gmail.com。
cnn4ry@163.com。
声明
本书仅限于讨论网络安全技术,请勿用作非法用途,严禁利用本书所提到的漏洞和技术进行非法攻击,否则后果自负,本人和出版商不承担任何责任!
编者
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
目录
前言
第1章 XSS初探
第2章 XSS利用方式剖析
第3章 XSS测试和工具剖析
第4章 发掘XSS漏洞
第5章 XSS WORM剖析
第6章 Flash应用安全
6.1 Flash简介
6.2 Flash安全模型
6.3 Flash客户端攻击剖析
6.4 利用Flash进行XSS攻击剖析
6.5 利用Flash进行CSRF
第7章 深入XSS原理
第8章 防御XSS攻击
参 考 文 献