Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DBShield — Firewall per database scritto in Go | Kitploit
Strumenti/GitHubGitHub/nim4/dbshield
Strumenti DifensiviSicurezza WebSicurezza dei DatabaseRilevamento di Anomalie
GitHubnim4/dbshield

DBShield

Firewall per database scritto in Go

Vedi RepositorySito web
6841618 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Linux Windows Go Report Card codecov Dev chat GoDoc MIT licensed

DBShield

Protegge i tuoi dati ispezionando le query in arrivo dal tuo server applicativo e rifiutando quelle anomale.


Come funziona?

Ad esempio, ecco come un web server interagisce normalmente con il database server:

Sample Web Server and DB

Aggiungendo DBShield davanti al server del database possiamo proteggerlo da query anomale. Per rilevare query anomale eseguiamo prima DBShield in modalità apprendimento. La modalità apprendimento lascia passare qualsiasi query ma registra informazioni su di essa (pattern, username, ora e sorgente) nel database interno.

Learning mode

Dopo aver raccolto abbastanza pattern possiamo eseguire DBShield in modalità protezione. La modalità protezione può distinguere pattern di query anomali, utente e sorgente e agire in base alle configurazioni.

Protect mode


Dimostrazione

Per la dimostrazione, usiamo sqlmap (strumento automatico di SQL injection e takeover del database) per sfruttare la vulnerabilità di SQL injection in user.php

Nel primo scenario, sqlmap sfrutta con successo la SQL injection quando l'applicazione web è connessa direttamente al database (MySQL). Nel secondo scenario, modifichiamo user.php in modo che DBShield si frapponga tra l'applicazione web e il database, interrompendo il tentativo di injection e facendo fallire sqlmap.

Demo

Output di esempio

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

Interfaccia Web

Web UI


Installazione

Ottienilo

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

Puoi quindi vedere l'aiuto usando l'argomento "-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

ed eseguilo con la tua configurazione, ad esempio:

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

vedi il file di configurazione di esempio

⚠️ ATTENZIONE: Non utilizzare i certificati predefiniti in ambienti di produzione!


Supporto:


Da fare

(Ordinato per priorità)

  • Migliorare la documentazione
  • Aggiungere Microsoft SQL Server
  • Aggiungere più argomenti da riga di comando
  • Raggiungere il 90% di copertura dei test
  • Supportare Oracle SSL
Scarica lo strumento
DatabaseProtezioneSSL
DB2YesNo
MariaDBYesYes
MySQLYesYes
OracleYesNo
PostgresYesYes