IFRAME 病毒的防范

辛辛苦苦做的网站突然被挂马,究其原因是因为网页带病毒,打开代码发现所有的页面的代码最后一行都多了一句:
  < IFRAME src="http://www.xxx.xxx ">< /IFRAME >
  打开引用页面一看防病毒软件一顿乱响,找到元凶了这可怎办?
  最后一行怎么弄都不行?!!
  其实很简单我们只需要在 < STYLE >< / STYLE > 之间加上一句
iframe{v:expression(this.src="/about:blank",this.outerHTML='');}
就可以了其实这是用了CSS样式表来对网页中所有的FRAME对象进行"洗脑"把iframe中的src属性的值换成空白页这样加进去的iFRAME 代码就不起作用了。
  但是要是网页本身就带有iframe标签怎么办?其实还有一种方法同样是使用CSS样式表来防范我们这次需要在 之间加上一大段:
xmp {
width:1px;
overflow:hidden;
text-overflow:clip;
white-space: nowrap;
clear: none;
float: none;
line-height: 0px;
display: inline;
}
  然后在网页的最后一行加上一个标签< XMP >这样也同样能是加在网页最后一行的iframe失效。
原来CSS除了好看还能干点别的:-)

  另外除了上面两种方法以外我们还可以在所有asp文件的最后一行加上
  < % response.end() % >
让脚本运行到这里就停止运行不论后面再写什么东西。
  说到这里有人可能会想一个网站那么多文件呢你怎么在所有的文件后面都加上
  < % response.end() % >
  其实可以用dos的bat脚本来解决可以写成
  echo ^<^%response.end()^%^> >>X.asp
  简单解释一下在dos中<、>和%都是类似C语言里面的系统关键字有自己特定的含有因此需要在前面加上^让dos把它们当成字符处理而后面的 >>则表示追加到文件的最后一行,先这样一个文件的问题就解决。
  再来解决一堆文件的问题,用dos下的for命令来完成,这种方法我记不清楚了,就说个大家都能弄得出来的,用电子表格来生成一个bat文件,然后用dir/b *.asp获得当前文件夹下的所有asp文件名,把结果复制到excel表格的第6列
  第五列写上>>
  第四列放一个空列
  第三列放^<^%response.end()^%^>
  第二列也放一个空列在第一列放echo然后将前五列选中向下填充
  最后全选,复制到bat文件中保存bat文件在网页目录下双击就全都加上了:-)
  可能还有简单的方法
  其实这只是治标的办法要治本还有找到真正的“马”那就需要大家的眼力了看看网页目录里面有没有异常的文件——扩展名异常。
  比如在一大堆的asp文件里面突然多了一个php的文件或者有一个jsp又或者有一个asa文件那你就危险了!那个文件就很有可能就是一匹是真正的“马”了。
posted @ 2009-11-21 23:48  朝夕  阅读(782)  评论(0编辑  收藏  举报