当前位置: 首页 > 工具软件 > Wolf CMS > 使用案例 >

wolfcms

宰父疏珂
2023-12-01

wolfcms安装:

1.将wolfcms下载后放到www目录下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u3x40Gli-1584242756029)(F:\图片\素材\wolfcms2.png)]

2.再浏览器中输入wolf文件路径,访问该文件

3.点击 Continue to install,进行下一步

输入数据库用户名和密码,点击下一步。

4.进行登录。用户名和密码如下。登录后自己修改密码。

5.登录成功如下

#7

若输入4中的用户名和密码后未显示登录成功页面,未提示密码错误,没有反应。

可以将和wolf在同一目录下的_.htaccess改名为.htaccess.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQgERP6v-1584242756030)(F:\图片\素材\wolfcms.png)]

wolf漏洞复现:

1.登录后直接上传文件

2.上传一句话木马

也可以直接编辑修改

3.连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-21pP1Jj1-1584242756031)(F:\图片\素材\wolfcms5.png)]

原因:

    public function upload() {
        if (!AuthUser::hasPermission('file_manager_upload')) {
            Flash::set('error', __('You do not have sufficient permissions to upload a file.'));
            redirect(get_url('plugin/file_manager/browse/'));
        }
        
        // CSRF checks
        if (isset($_POST['csrf_token'])) {
            $csrf_token = $_POST['csrf_token'];
            if (!SecureToken::validateToken($csrf_token, BASE_URL.'plugin/file_manager/upload')) {
                Flash::set('error', __('Invalid CSRF token found!'));
                redirect(get_url('plugin/file_manager/browse/'));
            }
        }
        else {
            Flash::set('error', __('No CSRF token found!'));
            redirect(get_url('plugin/file_manager/browse/'));
        }
        
        $mask = Plugin::getSetting('umask', 'file_manager');
        umask(octdec($mask));

        $data = $_POST['upload'];
        $path = str_replace('..', '', $data['path']);//将..替换为空格,可以防止一些win系统解析漏洞绕过
        $overwrite = isset($data['overwrite']) ? true : false;

        // Clean filenames
        $filename = preg_replace('/ /', '_', $_FILES['upload_file']['name']);//将'/'替换为'_'
        $filename = preg_replace('/[^a-z0-9_\-\.]/i', '', $filename);//只保留小写字母,数字,下划线,'-', '.' 

        if (isset($_FILES)) {
            $file = $this->_upload_file($filename, FILES_DIR . '/' . $path . '/', $_FILES['upload_file']['tmp_name'], $overwrite);

            if ($file === false)
                Flash::set('error', __('File has not been uploaded!'));
        }
        redirect(get_url('plugin/file_manager/browse/' . $path));
    }

对上传文件检查不够严格造成漏洞。

redirect(get_url(‘plugin/file_manager/browse/’ . $path));
}


对上传文件检查不够严格造成漏洞。

对上传的文件要进行类型验证,二次渲染,重命名等检查。
 类似资料:

相关阅读

相关文章

相关问答