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 html/socio/sistema/controller/deletar_socios.php #213

Open
joaopontes22 opened this issue May 8, 2024 · 1 comment
Labels
Security MN análise

Comments

@joaopontes22
Copy link
Contributor

Vulnerability Analysis
Vulnerabilidades encontradas no código:

  1. Uso de REQUEST para obter dados do cliente: O código utiliza $_REQUEST para obter o valor da chave fornecida pelo cliente. Isso pode ser uma vulnerabilidade de segurança, pois $_REQUEST inclui dados vindos tanto da variável GET quanto da variável POST. É recomendável utilizar $_GET ou $_POST dependendo de onde a chave é esperada.

  2. Falta de validação da chave: A chave enviada pelo cliente é comparada diretamente com uma string fixa. Não há validação adicional para garantir que a chave seja segura ou válida. Isso pode permitir ataques de força bruta ou exploração de vulnerabilidades.

  3. Uso de Truncate sem validação: O código executa a função TRUNCATE TABLE em várias tabelas sem verificar se o usuário tem permissão para realizar essa ação. Isso pode ser perigoso, pois um usuário mal-intencionado poderia limpar dados importantes do banco de dados.

Sugestões de melhoria:

  1. Validação da chave: Antes de comparar a chave fornecida pelo cliente, é importante validar e verificar se a chave é segura. Uma forma comum de fazer isso é usar funções de hash como SHA-256 para armazenar e comparar chaves.

  2. Autenticação e autorização: Em vez de confiar apenas em uma chave estática, é recomendável implementar um sistema de autenticação e autorização robusto para garantir que apenas usuários autorizados possam realizar a operação de limpar as tabelas do banco de dados.

  3. Limitar o uso do Truncate: Se for realmente necessário limpar as tabelas, é aconselhável restringir o acesso e permissões de usuário para garantir que apenas usuários autorizados possam executar a operação de limpeza da tabela.

  4. Escapar as variáveis: Quando incorporamos variáveis em consultas SQL, é importante escapá-las para evitar ataques de injeção de SQL. No caso deste código, seria bom usar mysqli_real_escape_string para escapar o nome da tabela antes de usá-lo na consulta.

Essas são algumas das vulnerabilidades encontradas no código e sugestões para melhorá-lo em termos de segurança e práticas recomendadas.

@joaopontes22 joaopontes22 added the Security MN análise label May 8, 2024
nicolly015 added a commit that referenced this issue Jun 6, 2024
@nicolly015
Copy link
Contributor

nicolly015 commented Jun 6, 2024

  • O comentário foi útil? 3 = Neutro

  • O erro foi fácil de localizar? 4 = Fácil

  • Foi possível corrigir o erro? Possível

  • O quão fácil de corrigir? 5 = Muito fácil

nilsonLazarin added a commit that referenced this issue Jun 19, 2024
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