Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2023-45503 — CVE-2023-45503 Referência | Kitploit
Ferramentas/GitHubGitHub/ally-petitt/cve-2023-45503
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHubally-petitt/cve-2023-45503

CVE-2023-45503

CVE-2023-45503 Referência

Ver Repositório
3há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Detalhes da Vulnerabilidade CVE-2023-45503

Visão Geral

No Macrob7 Macs Framework Content Management System (CMS), versões 1.1.4f e anteriores, o tratamento inseguro da entrada do utilizador leva a 16 vulnerabilidades de injeção de SQL. A capacidade de executar consultas SQL arbitrárias pode levar à fuga de dados privados, incluindo hashes de palavras-passe dos utilizadores e à capacidade de modificar as credenciais e o nível de privilégio de outros utilizadores. O impacto pode incluir escalonamento de privilégios e potencial execução remota de código (RCE).

Uma folha de cálculo que descreve cada endpoint afetado, parâmetro vulnerável e funções vulneráveis pode ser encontrada em este link.

Classificação CWE: CWE-89: Neutralização Incorreta de Elementos Especiais utilizados num Comando SQL ('Injeção de SQL')

Reportado Por: Ally Petitt

Produto Afetado: Macrob7 Macs CMS

Versões Afetadas: 1.1.4f e anteriores

Detalhes Técnicos

Em 16 instâncias que identifiquei, a entrada do utilizador foi recebida sem sanitização ou parametrização adequada. Por exemplo, na funcionalidade "Esqueceu a Palavra-passe" deste CMS, é solicitado um endereço de email.

Application/plugins/CMS/controllers/CMS.php:224

root@kitploit:~
    public function forgotPasswordProcess()
    {
      $this->loadModels();
      $emailAddress = Post::getByKey('emailAddress');

      $user = $this->usersModel->getUserByEmailAddress($emailAddress);

O endereço de email é então passado para o método , que passa o email para , um método que não protege adequadamente contra consultas SQL injetadas.

Baixar ferramenta
getUserByEmailAddress()
selectSingle()

Application/plugins/CMS/models/Users_Model.php:41

root@kitploit:~
    public function getUserByEmailAddress($emailAddress)
    {
       return $this->selectSingle( $this->getCMSTableNameUsers(), array('EmailAddress'=>$emailAddress));
    }

Em seguida, selectSingle() chama select() com a entrada do utilizador passada.

Application/core/DB.php:200

root@kitploit:~
    public function selectSingle($tableName, array $where = array(), array $fields = array('*'))
    {
      $return = $this->select($tableName, $where, $fields);

      $single = NULL;

      if( count($return) > 0 )
        $single = $return[0];

      return $single;
    }

A função vulnerável select() procede à concatenação dos parâmetros que lhe são passados numa consulta SQL que é subsequentemente executada.

Application/core/DB.php:186

root@kitploit:~
    public function select($tableName, array $where = array(), array $fields = array('*'))
    {      
      $fieldsString = $this->generatePair($fields, ',');
      $whereString = $this->generateKeyValuePair($where, '=', 'AND');

      $sql = 'SELECT '.$fieldsString.' FROM '.$tableName;

      if($whereString !='')
        $whereString = ' WHERE '.$whereString;

      $sql = $sql.' '.$whereString.';';     
      return $this->execute($sql)->fetchAll($this->returnType, $this->className);
    }

Devido à falta de sanitização, validação e parametrização da entrada, esta função permanece vulnerável a ataques de injeção de SQL.

Mitigação

Infelizmente, a falta de manutenção neste CMS significa que uma atualização corrigida não está disponível. Utilizadores individuais podem modificar o código para incluir consultas SQL parametrizadas, em vez de depender da concatenação para passar a entrada do utilizador para a base de dados. Instruções preparadas são um exemplo de mitigação que pode atingir esse objetivo.