thumbnail

Buscando CVE com PHP

Yuri do Monte Yuri do Monte | 3 min de leitura
há 2 semanas

🛡️ CVE Vulnerability Viewer

Este é um visualizador de vulnerabilidades simples, desenvolvido em PHP, que utiliza a API 2.0 do National Vulnerability Database (NVD) para buscar e exibir informações sobre Common Vulnerabilities and Exposures (CVEs).

O projeto consiste em uma interface web onde o usuário pode pesquisar por um termo (como um produto, fornecedor ou tecnologia) e visualizar uma lista das vulnerabilidades mais recentes relacionadas, ordenadas por data de publicação.

1763776515465.jpeg 53.13 KB
✨ Funcionalidades

  • Busca por Palavra-chave: Pesquise em toda a base de dados do NVD por qualquer termo.
  • Interface Moderna: UI limpa e responsiva para visualização dos dados.
  • Paginação Automática: O script busca todos os resultados da API, independentemente da quantidade, e os consolida.
  • Resultados Ordenados: As vulnerabilidades são exibidas da mais recente para a mais antiga.
  • Links Diretos: Cada CVE na lista possui um link direto para a página oficial do MITRE para análise aprofundada.

⚙️ Pré-requisitos

Para executar este projeto, você precisará de um ambiente de servidor web com:

  • PHP (versão 7.4 ou superior recomendada)
  • Extensão cURL do PHP habilitada (para fazer as requisições à API)

🔑 Configuração Obrigatória: Chave da API NVD

Para que o script funcione, é essencial obter uma chave de API gratuita do NVD. A API possui limites de requisição mais altos para usuários autenticados.

  1. Solicite sua Chave de API: Acesse o site do NVD e preencha o formulário para solicitar sua chave: https://nvd.nist.gov/developers/request-an-api-key
  2. Insira a Chave no Código: Após receber a chave por e-mail, abra o arquivo cveapi.php e substitua o valor da variável $apiKey pela sua chave.
  3. // Em cveapi.php, linha 7
    private static string $apiKey = "SUA_CHAVE_API_AQUI"; // Substitua pela sua chave
Atenção: Sem uma chave de API válida, o script retornará um erro de autenticação.

🚀 Instalação e Uso

  1. Estrutura de Arquivos:
    • Coloque ambos os arquivos (index.php e cveapi.php) no mesmo diretório em seu servidor web.
  2. Acesso: Abra o seu navegador e acesse o arquivo index.php. Por exemplo: http://localhost/cve-viewer/index.php.
  3. Busca:
    • A página carregará com uma busca padrão pelo termo "Office 365".
    • Para fazer uma nova busca, digite o termo desejado no campo de pesquisa (ex: Microsoft Exchange, Apache, WordPress) e clique em "Buscar".

📂 Estrutura do Código

  • index.php: Contém a interface do usuário (HTML/CSS) e a lógica de apresentação. Ele recebe a entrada do usuário, chama a classe CveApi para obter os dados e os exibe em uma tabela formatada.
  • cveapi.php: Contém a classe CveApi, que é responsável por toda a comunicação com a API do NVD. Suas principais funções são:
    • getCves(): Realiza a busca completa por palavra-chave, lidando com a paginação da API.
    • curlRequest(): Uma função interna que executa as chamadas cURL para a API.

📝 Notas Adicionais

  • O script exibe as 20 vulnerabilidades mais recentes na interface, embora busque todas as correspondentes ao termo pesquisado para garantir que as mais novas sejam sempre mostradas.
  • O código inclui tratamento básico de erros para falhas de conexão ou respostas inesperadas da API.


Link do repositório: https://github.com/yuri-spm/cveapi


Discussions

Realize login para comentar neste post
Este post não possui comentários