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/import_conteudo_processacontribuicao.php #206

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

Comments

@joaopontes22
Copy link
Contributor

Vulnerability Analysis

  1. A vulnerabilidade presente no código é a injeção de SQL na linha onde é feita a consulta no banco de dados:
$resultado = mysqli_query($conexao,"SELECT * FROM doacao_boleto_info AS bi JOIN sistema_pagamento AS sp ON (bi.id_sistema = sp.id) JOIN doacao_boleto_regras AS br ON (br.id = bi.id_regras)  WHERE nome_sistema = 'BOLETOFACIL'");

Para corrigir essa vulnerabilidade de injeção de SQL, deve-se utilizar prepared statements ao executar consultas SQL no banco de dados. Dessa forma, o código ficaria da seguinte maneira:

$stmt = $conexao->prepare("SELECT * FROM doacao_boleto_info AS bi JOIN sistema_pagamento AS sp ON (bi.id_sistema = sp.id) JOIN doacao_boleto_regras AS br ON (br.id = bi.id_regras)  WHERE nome_sistema = ?");
$stmt->bind_param("s", $nome_sistema);
$nome_sistema = "BOLETOFACIL";
$stmt->execute();
$resultado = $stmt->get_result();
$stmt->close();

Essa abordagem previne a execução de código malicioso de injeção de SQL e mantém a segurança do sistema.

  1. Além disso, o código não verifica se a variável $_GET['socio'] é válida e, portanto, está suscetível a ataques de URL (por exemplo, acesso direto a um ID inválido). Recomenda-se validar e sanitizar os dados recebidos através da URL antes de usá-los em consultas de banco de dados ou em qualquer operação sensível.

  2. Outro ponto a ser considerado é a exposição de informações sensíveis no frontend, como o token da API. Isso pode representar um risco de segurança, uma vez que o token da API não deve ser exposto no lado do cliente. Recomenda-se não expor informações sensíveis e tratar esses dados de forma mais segura.

Certifique-se de sempre validar, limpar e escapar corretamente os dados de entrada para evitar vulnerabilidades de segurança no código.

@joaopontes22 joaopontes22 added the Security MN análise label May 8, 2024
@joaopontes22 joaopontes22 changed the title Análise de vulnerabilidade do arquivo html/socio/sistema/controller/import_conteudo_processacontruibuicao.php Análise de vulnerabilidade do arquivo html/socio/sistema/controller/import_conteudo_processacontribuicao.php May 8, 2024
nicolly015 added a commit that referenced this issue Jun 13, 2024
@nicolly015
Copy link
Contributor

  • O comentário foi útil? 4 = Útil

  • O erro foi fácil de localizar? 5 = Muito fácil

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

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

Pesquisa feita:

Esse código também apresenta o erro 500.

@nicolly015
Copy link
Contributor

Testando lado servidor

Captura de tela de 2024-07-05 15-55-28

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