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
DBShield — Pare-feu de base de données écrit en Go | Kitploit
Outils/GitHubGitHub/nim4/dbshield
Outils DéfensifsSécurité WebSécurité des Bases de DonnéesDétection d'Anomalies
GitHubnim4/dbshield

DBShield

Pare-feu de base de données écrit en Go

Voir le dépôtSite web
684161il y a 8 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

Linux Windows Go Report Card codecov Dev chat GoDoc MIT licensed

DBShield

Protège vos données en inspectant les requêtes entrantes de votre serveur d'application et en rejetant celles qui sont anormales.


Comment ça marche ?

Par exemple, voici comment un serveur web interagit normalement avec le serveur de base de données :

Exemple de serveur Web et de base de données

En ajoutant DBShield devant le serveur de base de données, nous pouvons le protéger contre les requêtes anormales. Pour détecter les requêtes anormales, nous exécutons d'abord DBShield en mode apprentissage. Le mode apprentissage laisse passer toutes les requêtes mais enregistre des informations à leur sujet (motif, nom d'utilisateur, heure et source) dans la base de données interne.

Mode apprentissage

Après avoir collecté suffisamment de motifs, nous pouvons exécuter DBShield en mode protection. Le mode protection peut distinguer un motif de requête anormal, l'utilisateur et la source, et prendre des mesures en fonction des configurations.

Mode protection


Démo

Pour la démo, nous utilisons sqlmap (outil automatisé d'injection SQL et de prise de contrôle de base de données) pour exploiter la vulnérabilité d'injection SQL dans user.php

Dans le premier scénario, sqlmap exploite avec succès l'injection SQL lorsque l'application web est connectée directement à la base de données (MySQL). Dans le second scénario, nous modifions user.php pour que DBShield s'intercale entre l'application web et la base de données, ce qui annulera la tentative d'injection et fera échouer sqlmap.

Démo

Exemples de sorties

CLI

root@kitploit:~
$ go run main.go
2016/10/15 16:25:31 [INFO]  Config file: /etc/dbshield.yml
2016/10/15 16:25:31 [INFO]  Internal DB: /tmp/model/10.0.0.21_postgres.db
2016/10/15 16:25:31 [INFO]  Listening: 0.0.0.0:5000
2016/10/15 16:25:31 [INFO]  Backend: postgres (10.0.0.21:5432)
2016/10/15 16:25:31 [INFO]  Protect: true
2016/10/15 16:25:31 [INFO]  Web interface on https://127.0.0.1:8070/
2016/10/15 16:25:33 [INFO]  Connected from: 10.0.0.20:35910
2016/10/15 16:25:33 [INFO]  Connected to: 10.0.0.21:5432
2016/10/15 16:25:33 [INFO]  SSL connection
2016/10/15 16:25:34 [DEBUG] Client handshake done
2016/10/15 16:25:34 [DEBUG] Server handshake done
2016/10/15 16:25:34 [INFO]  User: postgres
2016/10/15 16:25:34 [INFO]  Database: test
2016/10/15 16:25:34 [INFO]  Query: SELECT * FROM stocks where id=-1 or 1=1
2016/10/15 16:25:34 [WARN]  Pattern not found: [53 55 51 52 55 52 50 53 55 51 53 49 115 116 111 99 107 115 53 55 51 53 50 105 100 54 49 52 53 53 55 51 55 57 53 55 52 48 52 53 55 51 55 57 54 49 53 55 51 55 57] (SELECT * FROM stocks where id=-1 or 1=1)
2016/10/15 16:25:34 [WARN]  Dropping connection

Interface Web

Interface Web


Installation

Récupérez-le

root@kitploit:~
$ go get -u github.com/nim4/DBShield

Ensuite, vous pouvez afficher l'aide en utilisant l'argument -h :

root@kitploit:~
$ $GOPATH/bin/DBShield -h
DBShield 1.0.0-beta3
Usage of DBShield:
  -a	get list of abnormal queries
  -c file
      config file (default "/etc/dbshield.yml")
  -h	show help
  -k	show parsed config and exit
  -l	get list of captured patterns
  -version
      show version

et exécutez-le avec votre configuration, par exemple :

root@kitploit:~
$ $GOPATH/bin/DBShield -c config.yml

voir exemple de fichier de configuration

⚠️ ATTENTION : Ne PAS utiliser les certificats par défaut dans les environnements de production !


Support :


À faire

(Trié par priorité)

  • Améliorer la documentation
  • Ajouter Microsoft SQL Server
  • Ajouter plus d'arguments en ligne de commande
  • Atteindre 90% de couverture de test
  • Supporter Oracle SSL
Télécharger l’outil
Base de donnéesProtectionSSL
DB2YesNo
MariaDBYesYes
MySQLYesYes
OracleYesNo
PostgresYesYes