两行CSS求解,共五个解。
一,
iframe { n1ifm:expression(this。src=' about:blank '这个。外部html=“”);}/*这行代码是解决挂内联框架木马的哦*/
脚本{ nojs 1:表达式((这个。src。tolowercase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');}
原理:把标有《script》的src拿出来变成小写,然后看是不是以“http”开头的外来JS脚本文件。如果是,则清除页面内容,写“木马隔离成功!”。否则,它会正常显示。
缺点:访问者看不到感染《script》木马的页面。
第二,
iframe { nif m2:expression(this。src=' about:blank '这个。外部html=“”);}
script { no2js:expression((这个。src。tolowercase().indexOf('http')==0)?文档。close():" ";}
原理:使用document.close()强制关闭外域JS文件的document.write()。木马内容还没写,只强制缓存输出了一部分,剩下的不会再写了。
第三,
iframe { ni3fm:expression(this。src=' about:blank '这个。外部html=“”);}
脚本{ n3ojs:表达式((这个。src。tolowercase().indexOf('http')==0)?文档。exec命令(' stop '):' ');}
原理:同一个外域的JS文件立即调用IE的私有execCommand方法停止所有页面请求,那么下一个外域JS文件的下载也是强制停止的。就像我们点击了浏览器的“停止”按钮一样。
看来这是JS模拟IE停止按钮的一种方式。
第四,
iframe { nif4m:expression(this。src=' about:blank '这个。外部html=“”);}
脚本{ noj4s:表达式(if(this。src。的索引(' http ')==0)this。src=' RES://ie frame。dll/DNS错误。htm’);}
原理:把外来JS文件的src重写到本地IE404错误页的地址,这样外来JS代码就不会被下载了。
五,
iframe { nif M5:表达式(this。src=' about:blank '这个。外部html=“”);}
脚本{ noj5s:表达式((这个。身份证。tolowercase().indexOf('vok ')!=-1)?document.write('木马被成功隔离!'):''));}
第五种方案,应该在页面HTML源代码《script》中添加一个前缀为“lh”的id,比如lhWeatherJsapi,《script src=“***/**.js” id=“lhSearchJSapi”》 《/script》。