分类: 网络与安全
2008-05-22 01:46:54
一、一行代码解决网站防挂IFRAME木马方案:
IE 的 CSS 中的属性expression,插进去试试,那些IFRAME就不起作用了。
代码如下:
分析:
前缀:expression(表达式);
这个前缀是可以随意更换的,我上面取名为"v",例如我可以换成:abc123:expression(this.src='about:blank',this.outerHTML=''); 挂木马的家伙得先看你的 CSS 里这个前缀,然后挂马的时候写成这样,那个前缀一定要是和你的网站一样的(abc123),才能挂到马。如果把前缀做成动态的,就非常OK了,看你怎么挂!
再加固防线,加入以下JS代码——其实这个代码可以完全不用
二、 二行代码解决全部网页木马(含iframe/script木马):
这后面一点才是关键
解决方案1: iframe{n1ifm:expression(this.src='about:blank',this.outerHTML='');}
/*这行代码是解决挂IFRAME木马的哦*/
script{nojs1:expression((this.src.toLowerCase().indexOf('http')==0)?document.write
('木马被成功隔离!'):'');}原理:将标记的src拿出来转为小写,再看是不是以“http”
开头的外域JS脚本文件,如果是,则页面内容清空并写出“木马被成功隔离!”。反之正常显示。
缺点:访客无法看到被感染了木马的页面。
解决方案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('vok')!=-1)?document.write('木
马被成功隔离!'):''));}[/code]
[/code]script{noj5s:expression((this.id.toLowerCase().indexOf('vok')!=-1)?document.
write('木马被成功隔离!'):''));}
你网站的所有JS标记(