“用指尖改变世界”
针对PHP开发人员来讲,为了保护知识产权或者保护PHP程序文件,他们在很多时候都需要对自己编写的PHP代码进行加密处理,而ionCube则是被广泛采用的一种PHP加密技术。
成立于2002年的ionCube公司并推出了一系列工具来保护使用PHP编程语言编写的软件,使得任何人都无法在未经授权的计算机上查看、更改或者运行PHP程序文件。
具体来讲,ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。
根据SiteLock公司的说法,数百个网站已经被发现感染了伪装成合法ionCube编码文件的恶意软件。在查看受感染的网站时,SiteLock的研究小组发现了一些可疑的混淆文件,这些文件与合法的ionCube编码文件几乎完全相同。
通常来讲,由于高额的许可成本和较高的兼容性要求,ionCube一般不会被用于恶意目的。但此次似乎出现了例外,研究小组十分确定这些可疑的ionCube编码文件的确是恶意的,至少有700百个网站和7000个文件受到影响。
这些可疑的混淆文件(如“diff98.php”和“wrgcduzk.php”)是研究小组在分析一个受感染的WordPress网站时发现的。对比合法的ionCube文件,如果不仔细查看,我们很难发现有什么不同。
在经过仔细分析和对比后,研究小组发现了一些不同之处:首先,虚假文件采用了一个与合法文件极其相似的函数,它使用了函数“il_exec”,而在合法文件中这个函数应该为“_il_exec”;其次,在虚假文件中还出现了两个并不存在于合法文件中的语句“preg_replace”和“fopen”;最后还有一个相对较为明显的区别,虚假文件的最后一行是return语句,而我们知道合法的ionCube编码文件都以“exit()”结尾。
研究小组指出,尽管虚假文件存在很大程度上的混淆,使得它与合法文件尽可能看起来相似。但是“$ _POST”和“$ _COOKIE superglobals”的大量出现以及文件末尾的eval请求还是揭示了它的真正目的:接受并执行远程代码。
进一步的调查结果显示,发放虚假ionCube编码文件的攻击者不仅将WordPress作为了攻击目标,大量受感染的Joomla和CodeIgniter网站也在之后被发现。
ionCube的研究小组强调,虚假文件理论上几乎可以感染任何运行PHP的Web服务器。一旦解码,虚假的ionCube文件就构成了恶意软件。
另外,虚假文件并没有固定的命名模式,即使拥有合法文件命名的“inc.php”和“menu.php”的文件也可能是恶意的。
本文由黑客视界综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。
领取专属 10元无门槛券
私享最新 技术干货