nilsonLazarin / WeGIA

WeGIA: Web gerenciador para instituições assistenciais
Other
5 stars 6 forks source link

Análise de vulnerabilidade do arquivo html/socio/sistema/controller/import_conteudo_processacontribuicao.php #206

Open joaopontes22 opened 4 months ago

joaopontes22 commented 4 months ago

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.

nicolly015 commented 3 months ago

Pesquisa feita:

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

nicolly015 commented 2 months ago

Testando lado servidor

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