Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Análise de vulnerabilidade do arquivo controle/SinaisVitaisControle.php #469

Closed
joaopontes22 opened this issue May 23, 2024 · 1 comment
Assignees
Labels
Security MN análise

Comments

@joaopontes22
Copy link
Contributor

Vulnerability Analysis

  1. Vulnerabilidades encontradas:
  • Possível inclusão de arquivos remotos: A verificação do arquivo de configuração não é segura, pois o código procura pelo arquivo "config.php" em diretórios acima do diretório atual sem limites. Isso pode ser explorado para incluir arquivos remotos maliciosos, se um invasor conseguir colocar um arquivo chamado "config.php" em um diretório acessível.
  • XSS (Cross-Site Scripting) potencial: Na mensagem de erro exibida em caso de exceção no método "incluir()", não há nenhuma sanitização de entradas que podem conter scripts maliciosos, o que representa potencialmente uma vulnerabilidade de XSS.
  • Uso de extract(): O uso da função extract() para popular variáveis com dados de $_REQUEST pode levar a problemas de segurança, como possíveis variáveis sendo declaradas no escopo global de forma não intencional.
  1. Explicação:
  • A falha na verificação do arquivo de configuração pode ser explorada por um invasor para incluir códigos maliciosos de terceiros através de um arquivo remoto. Para mitigar essa vulnerabilidade, é recomendado limitar a busca do arquivo de configuração a um número específico de níveis de diretórios ou utilizar caminhos absolutos para o arquivo de configuração.
  • XSS (Cross-Site Scripting) ocorre quando os dados de entrada do usuário não são devidamente sanitizados antes de serem exibidos de volta na página. Para prevenir isso, é importante sanitizar as entradas do usuário, especialmente quando se trata de exibir mensagens de erro ou exceção.
  • O uso da função extract() pode tornar o código mais difícil de entender e debugar, além de introduzir potenciais problemas de segurança, como variáveis sendo criadas inadvertidamente no escopo global. Uma abordagem mais segura seria acessar diretamente as chaves de $_REQUEST ou usar um método mais explícito para atribuir valores a variáveis individuais.

Para corrigir essas vulnerabilidades, recomenda-se:

  • Limitar a busca do arquivo de configuração a um número fixo de níveis de diretórios.
  • Sanitizar as mensagens de erro ou exceção antes de exibi-las na página para evitar XSS.
  • Evitar o uso da função extract() e em vez disso, atribuir valores diretamente às variáveis a partir de $_REQUEST.
@GabrielPintoSouza
Copy link
Collaborator

Feedback

  • O comentário foi útil? 4 = Útil
  • O erro foi fácil de localizar? 5 = Muito fácil
  • Foi possível corrigir? Parcialmente
  • O quão fácil de corrigir? 4 = Fácil

OBS: A forma de requisição do arquivo config.php é padrão em todo o projeto, modificar sua forma de acesso envolveria uma refatoração ao longo de diversos arquivos da aplicação.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Security MN análise
Projects
None yet
Development

No branches or pull requests

2 participants