关于javascript:我的网站中了马

41次阅读

共计 1438 个字符,预计需要花费 4 分钟才能阅读完成。

前言

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 其实我网站中马应该能够追朔到去年的八月份,过后如同是在 xx 平台有用户给我留言说网站上的游戏进不去了 (五子棋多人联机)。于是我关上一看发现首页被动态化了,为了疾速能拜访就从新提交了入口文件也没持续理睬。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 直到起初,隔一断工夫就又有人留言说打不开,我才开始排查起因了。进入我的项目代码里,我发现有些文件被批改了。另一方面呢,网站的收录也在一直变少,甚至搜寻进去的词和形容都变了,有赌博的,也有体育,迷彩之类的,我猜想应该是中马了。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 然而有一点想不通,这人是不是闲得无聊。网站上除了技术类文章,还有就是一些 H5 单机游戏,资源城和多人联机游戏因为没有其余支出撑持,到期后就敞开了。剩下的就是一些收费应用的小工具了,有必要在我网站上挂马吗,带着这个疑难就全都排查了一下代码,终于找到了两个文件能解释这个问题了。

文件一,篡改的入口文件

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 他是间接拿动态化的首页加了一些脚本放在了入口文件上,导致我导航栏的跳转全副生效,以下就是我截取的局部文件代码,再阐明一下外面放了什么。

1.TDK 局部 

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 也就是题目,形容和关键词都改了,就是下面的模样通过 ascii 编码,能够通过脚本之家的工具 ascii 转中文查看。他改的大略都是一些体育,迷彩之类的词,这也就解释了为什么网站的搜索词都变了,因为没有跳转收录也就变少了。

2.JavaScript 局部

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

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

文件二,PHP 大马

&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 这个文件就是他们挂上去的,可能是之前通过留言表单的 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 的,登陆后如下。

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

正文完
 0