Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
DBShield — Firewall de banco de dados escrito em Go | Kitploit
Ferramentas/GitHubGitHub/nim4/dbshield
Ferramentas DefensivasSegurança WebSegurança de Banco de DadosDetecção de Anomalias
GitHubnim4/dbshield

DBShield

Firewall de banco de dados escrito em Go

Ver RepositórioSite
684161há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Linux Windows Go Report Card codecov Dev chat GoDoc MIT licensed

DBShield

Protege seus dados inspecionando consultas recebidas do seu servidor de aplicação e rejeitando as anormais.


Como funciona?

Por exemplo, é assim que o servidor web normalmente interage com o servidor de banco de dados:

Exemplo de Servidor Web e DB

Ao adicionar o DBShield na frente do servidor de banco de dados, podemos protegê-lo contra consultas anormais. Para detectar consultas anormais, primeiro executamos o DBShield em modo de aprendizado. O modo de aprendizado permite qualquer consulta passar, mas registra informações sobre ela (padrão, nome de usuário, hora e origem) no banco de dados interno.

Modo de aprendizado

Depois de coletar padrões suficientes, podemos executar o DBShield em modo de proteção. O modo de proteção pode distinguir padrão de consulta anormal, usuário e origem e tomar ações com base nas configurações.

Modo de proteção


Demonstração

Para demonstração, estamos usando o sqlmap (ferramenta automática de injeção SQL e tomada de banco de dados) para explorar a vulnerabilidade de injeção SQL em user.php

No primeiro cenário, o sqlmap explora com sucesso a injeção SQL quando a aplicação web está conectada diretamente ao banco de dados (MySQL). No segundo cenário, modificamos o user.php para que o DBShield fique entre a aplicação web e o banco de dados, o que interromperá a tentativa de injeção e fará com que o sqlmap falhe.

Demonstração

Exemplos de Saída

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


Instalação

Obtenha-o:

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

Então você pode ver a ajuda usando o argumento "-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

e execute com sua configuração, como:

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

veja o arquivo de configuração de exemplo

⚠️ AVISO: NÃO use certificados padrão em ambientes de produção!


Suporta:


A Fazer

(Ordenado por prioridade)

  • Melhorar documentação
  • Adicionar Microsoft SQL Server
  • Adicionar mais argumentos de linha de comando
  • Alcançar 90% de cobertura de testes
  • Suportar SSL no Oracle
Baixar ferramenta
Banco de DadosProteçãoSSL
DB2YesNo
MariaDBYesYes
MySQLYesYes
OracleYesNo
PostgresYesYes