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
VAmPI — API REST vulnerável com as vulnerabilidades do OWASP Top 10 para testes de segurança. | Kitploit
Ferramentas/GitHubGitHub/erev0s/vampi
Scanners de Vulnerabilidades WebAnálise de VulnerabilidadesTestes de Segurança de APIsAprendizado e EducaçãoLabs e Prática
GitHuberev0s/vampi

VAmPI

API REST vulnerável com as vulnerabilidades do OWASP Top 10 para testes de segurança.

Ver Repositório
1.3k580há 4 mesesRevisado 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

VAmPI

A API Vulnerável (Baseada em OpenAPI 3) vampi

Docker Image CI Docker Pulls

VAmPI é uma API vulnerável feita com Flask que inclui vulnerabilidades do OWASP top 10 para APIs. Foi criada porque eu queria uma API vulnerável para avaliar a eficiência de ferramentas usadas para detetar problemas de segurança em APIs. Inclui um interruptor liga/desliga para permitir que a API seja vulnerável ou não durante os testes. Isto permite cobrir melhor os casos de falsos positivos/negativos. VAmPI também pode ser usado para fins de aprendizagem/ensino. Pode encontrar mais detalhes sobre as vulnerabilidades em erev0s.com.

Funcionalidades

  • Baseado nas vulnerabilidades OWASP Top 10 para APIs.
  • Especificações OpenAPI3 e Coleção Postman incluídas.
  • Interruptor global liga/desliga para ter um ambiente vulnerável ou não.
  • Autenticação baseada em token (Ajustar a duração no ficheiro app.py)
  • Swagger UI disponível para interagir diretamente com a API

O fluxo de ações do VAmPI é o seguinte: um utilizador não registado pode ver informações mínimas sobre os utilizadores fictícios incluídos na API. Um utilizador pode registar-se e depois fazer login para poder usar o token recebido durante o login para publicar um livro. Para um livro publicado, os dados aceites são o título e um segredo sobre esse livro. Cada livro é único para cada utilizador e apenas o proprietário do livro deve poder ver o segredo.

Uma visão rápida das ações incluídas pode ser vista na tabela seguinte:

Para mais detalhes, pode executar o VAmPI e visitar http://127.0.0.1:5000/ui/ ou usar um serviço como o swagger editor fornecendo a especificação OpenAPI que se encontra no diretório openapi_specs.

Lista de Vulnerabilidades

  • Injeção SQL
  • Alteração de Palavra-passe Não Autorizada
  • Quebra de Autorização a Nível de Objeto
  • Atribuição em Massa
  • Exposição Excessiva de Dados através do endpoint de depuração
  • Enumeração de Utilizadores e Palavras-passe
  • RegexDOS (Negação de Serviço)
  • Falta de Recursos e Limitação de Taxa
  • Bypass de autenticação JWT através de chave de assinatura fraca

Executar

É uma aplicação Flask, por isso, para a executar, pode instalar todos os requisitos e depois executar o app.py. Para instalar todos os requisitos, basta executar pip3 install -r requirements.txt e depois python3 app.py.

Ou, se preferir, pode também executá-la através do Docker ou do Docker Compose.

Executar através do Docker

  • Disponível em Dockerhub
root@kitploit:~
docker run -p 5000:5000 erev0s/vampi:latest

[Nota: se executar o Docker em versões mais recentes do MacOS, use -p 5001:5000 para evitar conflitos com o serviço AirPlay Receiver. Alternativamente, pode desativar o serviço AirPlay Receiver nas Preferências do Sistema -> definições de Partilha.]

Executar através do Docker Compose

docker-compose contém duas instâncias, uma com a configuração segura na porta 5001 e outra com configuração insegura na porta 5002:

root@kitploit:~
docker-compose up -d

Swagger UI Disponível 🚀

Visite o caminho /ui onde está a executar a API e um Swagger UI estará disponível para ajudar a começar!

root@kitploit:~
http://127.0.0.1:5000/ui/

Personalizar o tempo limite do token e o ambiente vulnerável ou não

Se desejar alterar o tempo limite do token criado após o login ou se quiser mudar o ambiente para não ser vulnerável, pode usar algumas formas dependendo de como executa a aplicação.

  • Se a executar normalmente com python3 app.py, tudo o que precisa fazer é editar as variáveis alive e vuln definidas no próprio app.py. A variável alive é medida em segundos, por isso se colocar 100, o token expira após 100 segundos. A variável vuln é como booleano, se a definir como 1 a aplicação é vulnerável, e se a definir como 0 a aplicação não é vulnerável.
  • Se a executar através do Docker, então deve passar variáveis de ambiente para o comando docker run ou editar o Dockerfile e reconstruir.
    • Exemplo de Docker run: docker run -d -e vulnerable=0 -e tokentimetolive=300 -p 5000:5000 erev0s/vampi:latest

      • Uma funcionalidade interessante ao executar desta forma é que pode iniciar um segundo contentor com numa porta diferente e alternar facilmente entre os dois.

Perguntas frequentes

  • Há um erro de base de dados ao aceder aos endpoints!
    • Certifique-se de que faz um pedido ao endpoint /createdb para preencher a base de dados.

Imagem do freepik - www.freepik.com

Baixar ferramenta
AçãoCaminhoDetalhes
GET/createdbCria e preenche a base de dados com dados fictícios
GET/Página inicial do VAmPI
GET/meMostra o utilizador que está autenticado
GET/users/v1Mostra todos os utilizadores com informações básicas
GET/users/v1/_debugMostra todos os detalhes de todos os utilizadores
POST/users/v1/registerRegistar novo utilizador
POST/users/v1/loginLogin no VAmPI
GET/users/v1/{username}Mostra utilizador pelo nome de utilizador
DELETE/users/v1/{username}Elimina utilizador pelo nome de utilizador (Apenas Administradores)
PUT/users/v1/{username}/emailAtualizar o email de um utilizador
PUT/users/v1/{username}/passwordAtualizar a palavra-passe do utilizador
GET/books/v1Obtém todos os livros
POST/books/v1Adicionar novo livro
GET/books/v1/{book}Obtém livro por título juntamente com o segredo
vulnerable=1
  • No Dockerfile encontrará duas variáveis de ambiente definidas: ENV vulnerable=1 e ENV tokentimetolive=60. Sinta-se à vontade para alterá-las antes de executar o comando docker build.