shell bypass 403

UnknownSec Shell

: /home3/espa7358/www/admin__OLD/_ajax/ [ drwxr-xr-x ]
Uname: Linux dedi-15171674.espacofacial.com.br 5.14.0-687.48.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 16 12:22:07 EDT 2026 x86_64
Software: Apache
PHP version: 8.2.33 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.5.151
Your Ip: 216.73.216.19
User: espa7358 (1004) | Group: espa7358 (1003)
Safe Mode: OFF
Disable Function:
NONE

name : Login.ajax.php
<?php

session_start();
require '../../_app/Config.inc.php';

usleep(50000);

//DEFINE O CALLBACK E RECUPERA O POST
$jSON = null;
$CallBack = 'Login';
$PostData = filter_input_array(INPUT_POST, FILTER_DEFAULT);

//VALIDA AÇÃO
if ($PostData && $PostData['callback_action'] && $PostData['callback'] == $CallBack):
    //PREPARA OS DADOS
    $Case = $PostData['callback_action'];
    unset($PostData['callback'], $PostData['callback_action']);

    //ELIMINA CÓDIGOS
    $PostData = array_map('strip_tags', $PostData);

    //SELECIONA AÇÃO
    switch ($Case):
        //LOGIN
        case 'admin_login':
            if (in_array('', $PostData)):
                $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> Informe seu e-mail e senha para logar!', E_USER_NOTICE);
            else:
                if (!Check::Email($PostData['user_email']) || !filter_var($PostData['user_email'], FILTER_VALIDATE_EMAIL)):
                    $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> E-mail informado não é válido!', E_USER_NOTICE);
                elseif (strlen($PostData['user_password']) < 5):
                    $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> Senha informada não é compatível!', E_USER_NOTICE);
                else:
                    $Read = new Read;
                    $Read->FullRead("SELECT user_id FROM " . DB_USERS . " WHERE user_level >= :lv", "lv=6");
                    if (!$Read->getResult()):
                        $AdminWorkControl = ['user_id' => 1, 'user_thumb' => 'images/2016/02/1-adminwork-control.png', 'user_name' => 'Admin', 'user_lastname' => 'Espaço Facial', 'user_email' => '[email protected]', 'user_password' => hash('sha512', 'admin'), 'user_registration' => date('Y-m-d H:i:s'), 'user_level' => 10];
                        $Create = new Create;
                        $Create->ExeCreate(DB_USERS, $AdminWorkControl);
                    endif;

                    $Read->FullRead("SELECT user_id FROM " . DB_USERS . " WHERE user_email = :email", "email={$PostData['user_email']}");
                    if (!$Read->getResult()):
                        $jSON['trigger'] = AjaxErro('<b>ERRO:</b> E-mail informado não é cadastrado!', E_USER_WARNING);
                    else:
                        //CRIPTIGRAFA A SENHA
                        $PostData['user_password'] = hash('sha512', $PostData['user_password']);

                        $Read->FullRead("SELECT user_id FROM " . DB_USERS . " WHERE user_email = :email AND user_password = :pass", "email={$PostData['user_email']}&pass={$PostData['user_password']}");
                        if (!$Read->getResult()):
                            $jSON['trigger'] = AjaxErro('<b>ERRO:</b> E-mail e senha não conferem!', E_USER_ERROR);
                        else:
                            $Read->ExeRead(DB_USERS, "WHERE user_email = :email AND user_password = :pass AND user_level >= :level", "email={$PostData['user_email']}&pass={$PostData['user_password']}&level=6");
                            if (!$Read->getResult()):
                                $jSON['trigger'] = AjaxErro('<b>ERRO:</b> Você não tem permissão para acessar o painel!', E_USER_ERROR);
                            else:
                                $Remember = (isset($PostData['user_remember']) ? 1 : null);
                                if ($Remember):
                                    setcookie('workcontrol', $PostData['user_email'], time() + 2592000, '/');
                                else:
                                    setcookie('workcontrol', '', 60, '/');
                                endif;

                                if (!EAD_STUDENT_MULTIPLE_LOGIN):
                                    $wc_ead_login_cookie = hash("sha512", time());
                                    setcookie('wc_ead_login', $wc_ead_login_cookie, time() + 2592000, '/');

                                    $UpdateUserLogin = ['user_lastaccess' => date('Y-m-d H:i:s'), 'user_login' => time(), 'user_login_cookie' => $wc_ead_login_cookie];
                                    $Update = new Update;
                                    $Update->ExeUpdate(DB_USERS, $UpdateUserLogin, "WHERE user_id = :user", "user={$Read->getResult()[0]['user_id']}");
                                endif;

                                $_SESSION['userLogin'] = $Read->getResult()[0];
                                $jSON['trigger'] = AjaxErro("<b>Olá {$Read->getResult()[0]['user_name']},</b> Seja bem-vindo(a) de volta!");
                                $jSON['redirect'] = 'dashboard.php?wc=home';
                            endif;
                        endif;
                    endif;
                endif;
            endif;
            break;

        case 'admin_recover':
            if (isset($PostData['user_email']) && Check::Email($PostData['user_email']) && filter_var($PostData['user_email'], FILTER_VALIDATE_EMAIL)):
                $Read = new Read;
                $Read->FullRead("SELECT user_id, user_name, user_email, user_password FROM " . DB_USERS . " WHERE user_email = :email AND user_level >= :level", "email={$PostData['user_email']}&level=6");
                if (!$Read->getResult()):
                    $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> E-mail não cadastrado ou não tem permissão para o painel!', E_USER_WARNING);
                else:
                    $CodeReset = "user_id={$Read->getResult()[0]['user_id']}&user_email={$Read->getResult()[0]['user_email']}&user_password={$Read->getResult()[0]['user_password']}";
                    $CodePass = base64_encode($CodeReset);

                    require '../_tpl/Mail.email.php';
                    $BodyMail = "
                    <p style='font-size: 1.5em;'>Olá {$Read->getResult()[0]['user_name']}, recupere sua senha do " . ADMIN_NAME . "!</p>
                    <p>Caso não tenha feito essa solicitação. Por favor ignore esse e-mail e nenhuma ação será tomada quanto aos dados de acesso!</p>
                    <p>Ou para criar uma nova senha de acesso <a title='Criar Nova Senha' href='" . BASE . "/admin/newpass.php?key={$CodePass}'>CLIQUE AQUI!</a>!</p>
                    <p>Você será redirecionado para uma página onde poderá definir uma nova senha de acesso ao painel! Cuide bem dos seus dados.</p>
                    ";
                    $Mensagem = str_replace('#mail_body#', $BodyMail, $MailContent);

                    $Email = new Email;
                    $Email->EnviarMontando('Recupere sua Senha', $Mensagem, ADMIN_NAME, MAIL_USER, $Read->getResult()[0]['user_name'], $Read->getResult()[0]['user_email']);

                    $_SESSION['trigger_login'] = AjaxErro("<b>SUCESSO:</b> Olá {$Read->getResult()[0]['user_name']}, confira o link enviado em seu e-mail para recuperar sua senha!");
                    $jSON['trigger'] = AjaxErro('<b>SUCESSO:</b> O link foi enviado para seu e-mail!');
                    $jSON['redirect'] = './';
                endif;
            else:
                $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> Infor seu e-mail para recuperar a senha!', E_USER_WARNING);
            endif;
            break;

        case 'admin_newpass':
            if (empty($_SESSION['RecoverPass'])):
            else:
                if (in_array('', $PostData)):
                    $jSON['trigger'] = AjaxErro('<b>OPPSSS:</b> Para redefinir uma nova senha, você deve informar e repetir a mesma logo abaixo!', E_USER_NOTICE);
                elseif (strlen($PostData['user_password']) < 5):
                    $jSON['trigger'] = AjaxErro('<b>ALERTA:</b> Informe uma senha com no mínimo 5 caracteres!', E_USER_WARNING);
                elseif ($PostData['user_password'] != $PostData['user_password_re']):
                    $jSON['trigger'] = AjaxErro('<b>ALERTA:</b> Você deve informar e repetir a mesma senha. Você informou senhas diferentes!', E_USER_WARNING);
                else:
                    $DecodeValidate = base64_decode($_SESSION['RecoverPass']);
                    parse_str($DecodeValidate, $Validate);

                    $Read = new Read;
                    $Read->FullRead("SELECT user_name, user_id FROM " . DB_USERS . " WHERE user_id = :id AND user_email = :email AND user_password = :pass", "id={$Validate['user_id']}&email={$Validate['user_email']}&pass={$Validate['user_password']}");
                    if ($Read->getResult()):
                        $UpdatePass = ['user_password' => hash('sha512', $PostData['user_password'])];
                        $Update = new Update;
                        $Update->ExeUpdate(DB_USERS, $UpdatePass, "WHERE user_id = :id", "id={$Read->getResult()[0]['user_id']}");

                        $_SESSION['trigger_login'] = AjaxErro("<b>INFO:</b> Olá {$Read->getResult()[0]['user_name']}, para logar informe seu e-mail e sua NOVA SENHA de acesso!");
                        $jSON['trigger'] = AjaxErro('<b>SUCESSO:</b> Sua senha foi redefinida!');
                        $jSON['redirect'] = './';
                    else:
                        $_SESSION['trigger_login'] = AjaxErro("<b>OPPSSS:</b> Você tentou recuperar sua senha com um código de acesso expirado!", E_USER_ERROR);
                        $jSON['trigger'] = AjaxErro('<b>ERRO:</b> Não foi possível redefinir!', E_USER_WARNING);
                        $jSON['redirect'] = './';
                    endif;
                endif;
            endif;
            break;
    endswitch;

    //RETORNA O CALLBACK
    if ($jSON):
        echo json_encode($jSON);
    else:
        $jSON['trigger'] = AjaxErro('<b class="icon-warning">OPSS:</b> Desculpe. Mas uma ação do sistema não respondeu corretamente. Ao persistir, contate o desenvolvedor!', E_USER_ERROR);
        echo json_encode($jSON);
    endif;
else:
    //ACESSO DIRETO
    die('<br><br><br><center><h1>Acesso Restrito!</h1></center>');
endif;
© 2026 UnknownSec