平平博客平平博客
user side
平平
pingping@pingping6.com
平平网络pingping6.com

解决emlog后台登陆失败验证码未刷新的BUG

网站教程2020-04-25 190  0 
摘要:漏洞介绍Emlog博客系统默认后台登陆地址为http://域名/admin/login.p...

漏洞介绍

Emlog博客系统默认后台登陆地址为http://域名/admin/login.php

而后台登陆时,错误情况下,验证码未刷新,导致可暴力破解登陆管理员账号

低危漏洞,但是在emlog5.3.16.0测试版本均存在

解决办法

在/admin/globals.php文件中修改:
<?php
/**
 * 后台全局项加载
 * @copyright (c) Emlog All Rights Reserved
 */

require_once '../init.php';

define('TEMPLATE_PATH', EMLOG_ROOT.'/admin/views/');//后台当前模板路径
define('OFFICIAL_SERVICE_HOST', 'http://www.emlog.net/');//官方服务域名

$sta_cache = $CACHE->readCache('sta');
$user_cache = $CACHE->readCache('user');
$action = isset($_GET['action']) ? addslashes($_GET['action']) : '';

//登录验证
if ($action == 'login') {
    $username = isset($_POST['user']) ? addslashes(trim($_POST['user'])) : '';
    $password = isset($_POST['pw']) ? addslashes(trim($_POST['pw'])) : '';
    $ispersis = isset($_POST['ispersis']) ? intval($_POST['ispersis']) : false;
    $img_code = Option::get('login_code') == 'y' && isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';

    $loginAuthRet = LoginAuth::checkUser($username, $password, $img_code);
    
    if ($loginAuthRet === true) {
        $_SESSION['code'] = null;
        LoginAuth::setAuthCookie($username, $ispersis);
        emDirect("./");
    } else{
        $_SESSION['code'] = null;
        LoginAuth::loginPage($loginAuthRet);
    }
}
//退出
if ($action == 'logout') {
    setcookie(AUTH_COOKIE_NAME, ' ', time() - 31536000, '/');
    emDirect("../");
}

if (ISLOGIN === false) {
    LoginAuth::loginPage();
}

$request_uri = strtolower(substr(basename($_SERVER['SCRIPT_NAME']), 0, -4));
if (ROLE == ROLE_WRITER && !in_array($request_uri, array('write_log','admin_log','attachment','blogger','comment','index','save_log'))) {
    emMsg('权限不足!','./');
}
继续阅读
标签:emlog报错修复bug漏洞后台验证码
写代码真的很累!麻烦点个赞,评论一下,然后分享给自己的小伙伴!
打赏
海报分享
发表评论
表情
快捷
私密

右滑验证