WEB开发网
开发学院网页设计JavaScript 二行代码解决全部网页木马 阅读

二行代码解决全部网页木马

 2010-09-14 13:11:02 来源:WEB开发网   
核心提示: iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');}script{no2js:expression((this.src.toLowerCase().indexOf('h

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('vok')!=-1)?document.write('木马被成功隔离!'):''));}

第五种方案的页面HTML源代码<script>中要加入以"lh"为前缀的id,如lhWeatherJSapi,<script src="***/**.js" id="lhSearchJSapi"></script> 

上一页  1 2 3 4  下一页

Tags:代码 解决 全部

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接