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/relatorio.php #102

Closed
joaopontes22 opened this issue May 2, 2024 · 1 comment
Closed

Análise de vulnerabilidade do arquivo html/relatorio.php #102

joaopontes22 opened this issue May 2, 2024 · 1 comment

Comments

@joaopontes22
Copy link
Contributor

Vulnerability Analysis

  1. Vulnerabilidade de Injeção SQL:

    • O código está vulnerável a ataques de injeção SQL, pois utiliza diretamente variáveis do PHP (como id_pessoa e id_cargo) em consultas SQL sem nenhuma forma de validação ou escape. Isso pode permitir que um atacante manipule os valores das variáveis e execute consultas maliciosas no banco de dados.
  2. Não verificação de existência da variável $id_cargo:

    • Antes de acessar o valor de $id_cargo na linha 20 com este trecho de código: $id_cargo['id_cargo'], seria adequado verificar se o retorno da query mysqli_fetch_array($resultado) não é nulo para evitar possíveis erros.
  3. Possível repetição de lógica e redundância:

    • As seções de verificação de permissão nas linhas 22-34 e no final do script parecem ser redundantes. Pode ser simplificado para evitar repetição de código.
  4. Ausência de tratamento de erros e exceções:

    • O script não está tratando possíveis erros que possam ocorrer durante as consultas ao banco de dados. Seria importante incluir tratamentos de erros para garantir que o código seja robusto e seguro.
  5. Exposição do caminho do arquivo de configuração:

    • A exposição do caminho do arquivo de configuração (config.php) pode ser um problema de segurança, pois um atacante pode tentar acessar diretamente esse arquivo. Seria mais seguro ocultar ou proteger o acesso a esse tipo de arquivo.

Para corrigir essas vulnerabilidades, recomenda-se implementar as seguintes práticas de segurança:

  • Utilizar prepared statements ou funções de escape adequadas ao fazer consultas ao banco de dados para prevenir injeção SQL.
  • Verificar se o resultado da query não é nulo antes de acessar seus valores.
  • Consolidar e simplificar a lógica de verificação de permissões.
  • Implementar tratamento de erros e exceções para lidar com possíveis falhas no acesso ao banco de dados.
  • Ocultar ou proteger o acesso a arquivos sensíveis, como arquivos de configuração
@joaopontes22 joaopontes22 added the Security MN análise label May 2, 2024
@joaopontes22
Copy link
Contributor Author

Problemas de segurança resolvidos

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

No branches or pull requests

1 participant