CSS代码解决网页挂马问题

  两行CSS来解决,共5种方案

  一、

  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》木马的页面。

  二、

  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()强制关闭。木马内容还没有来得及写完,只有部分被强制缓存输出了,剩下的不会再写了。

  三、

  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停止按钮的一种方法。

  四、

  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代码不会下载。

  五、

  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》

类别:JavaScript技术  来源:本站原创  作者:hpping  日期:2009-09-30 15:03

上一条:无需javascript的Google Analytics
下一条:对现代开发来说,JavaScript是一种垃圾语言