在Wordpress中,通常恶意程序隐藏在插件或主题中。他们形态各异,有的发送垃圾邮件,有的植入隐形链接……不过这类恶意软件原理很好理解,无非就是恶意插件中有网站管理员所需要的功能,然后网站管理员在没有经过严谨确认便直接安装。
有趣的黑帽SEO插件
就在本周,我遇到一款典型的黑帽SEO插件,它实现的手法十分有趣。
该恶意插件核心文就在网站root目录下。黑客通过利用该文件,将以下代码注入到Index.php文件中。
if ( file_exists( 'wp-core.php' ) ){ require_once( 'wp-core.php' ); }
像这样的Index.php注入看起来十分可疑,同时也告知我们wp-core.php并没有被安装,因为这将破环Wordpress基本约定。
接下来,我们就好好看下wp-core.php文件吧。
分析wp-core.php文件
该文件大概有500多行代码,在其注释行中,提到该插件是为保护Wordpress CMS免受Brute-force攻击而开发的,并且说是利用302重定向来进行保护,最后还提到必须第一个进行加载。
在该文件的中间部分我发现了“bootstrap”的代码
首先,他将“Bruteforce protection” 代码注入到wp-login.php.
在登录表单中加入onsubmit管理员并设置 “antibot_ajax” cookies。接着还添加了一个用以检测是否设置有cookies的代码,如果没有设置是不允许登录的。这样看起来似乎真的是在做对抗机器人的操作保护了用户,毫无恶意。
接着,我们来看看“Auth 2nd level”代码:
这个看起来更加可疑,其注入了一段加密了代码。我们进行了解密,惊奇的发现这段代码也很正常。正如插件作者在开头备注中所说的一样,这是进行第二次验证。如果登录名和密码是有效的,就会向WP数据库检索用户邮箱,将从第三个字符开始进行替换直到@符号位置,最后要求验证该邮箱。
小编推荐阅读