笔者认为,这篇文章的完成,是一件高兴的事。由于本文是国内首本专门论述XSS的著作,因此本文的推出,为学习网络安全的新人提供了充足的学习材料,同时也为安全工作者提供了一份不可多得的参考手册,必将促使大家更加重视XSS安全技术。XSS攻击的危害一直未被多数开发者正确认识,甚至一些网络安全工作者也认为XSS「危害不大」。引起这一误解的原因很多。XSS攻击的危害是与特定的业务场景息息相关的。由于业务场景的不同,导致了不同的网络安全问题,其中有些场景风险大,有些场景风险小。但XSS作为一种漏洞类型,在描述其定义时很难将其定位到具体情况中。XSS攻击的危害程度,取决于业务场景的重要性程度。
本人在阿里巴巴工作期间,曾办理过淘宝、支付宝诈骗案件。那时发现的许多案例,XSS漏洞都是用来进行网购钓鱼的。骗子通过即时通讯软件向用户发送了一个XSS链接,用户点击后,就会自动跳转到该网页,最终导致资金损失。这种情况下,骗子利用XSS使链接的域名成为真正合法的网站,从而绕过了所有安全软件的检查。那时,我曾粗略估计过一个XSS漏洞造成的损失,如果算上用户损失的数量,再加上站点的修复费用,每个XSS漏洞都将带来超过500,000人民币的损失。
此外,曾有许多网络犯罪利用WebMail的XSS漏洞盗取目标用户的邮箱,这种定点渗透攻击造成的损失常常是难以衡量的。XSS攻击也与浏览器有密切关系,在不同的浏览器上表现不一样。由于互联网,浏览器的版本更新很快。所以,要想熟练掌握XSS的防范技能,就必须对不同浏览器的特性有深刻的理解。与攻击服务端的漏洞相比,XSS针对的是客户端。一般情况下,开发人员、网站安全工程师都会更加关注攻击服务器的安全漏洞。但站在用户的角度,或者说站在整个网络安全的角度,XSS的安全应该受到高度重视。
XSS攻击可以控制目标浏览器执行的任何操作,因此,也会导致用户数据、用户隐私的泄露。这一点在数据时代显得特别敏感。但如今许多网站的用户数据没有被妥善保管,许多爬虫、第三方抓取软件或多或少都能从网站上抓取到一些用户数据,这让XSS的危害看起来不那么突出。但是这本书将告诉你,XSS所能做的远比你想象的要多得多,这点非常重要。针对于目前网站上的安全问题凸显,几乎每个站点都或多或少地存在XSS跨站漏洞。这众多的XSS漏洞就像是互联网上的一片雷区,没有人知道他们何时会爆炸,造成损失。伴随着JavaScript和HTML5技术的发展,越来越多的网站和移动应用开始采用更先进的前端技术,因此XSS攻击的升级也就不可避免了。未来十年,XSS攻击可能会带来质的变化,并注定将成为互联网安全领域中值得长期关注的热点。若之前忽略了XSS的安全性,那么希望,从本文开始,能够引起足够的重视。