Resumo
A criação de uma query SQL a partir de uma concatenação de um parâmetro GET controlado pelo usuário permite que um atacante manipule a query.
Detalhes
O arquivo ieducar/intranet/funcionario_vinculo_det.php, na linha 17, recebe o parâmetro GET cod_func, o qual é concatenado à query que será realizada, permitindo que um atacante consiga manipulá-la:
PoC
Podemos utilizar o sqlmap para exploração facilitada dessa vulnerabilidade:
sqlmap -u "http://localhost/intranet/funcionario_vinculo_det.php?cod_func=1" --cookie "i_educar_session=<cookie_sessao>" -p cod_func --risk 3 --level 5 --dbms postgres --threads 10 --dbs
Impacto
A exploração bem-sucedida dessa falha permite que um atacante tenha acesso completo e irrestrito ao banco de dados, com um usuário web com permissionamento mínimo. Isso pode implicar na obtenção de informações de usuários, como e-mails, hashes de senha, etc
Mitigação
A utilização de prepared statements é necessária para mitigação completa desse tipo de vulnerabilidade. Tentativas como substituição ou blacklist podem não ser tão efetivas e não são recomendadas.
Referências
Resumo
A criação de uma query SQL a partir de uma concatenação de um parâmetro GET controlado pelo usuário permite que um atacante manipule a query.
Detalhes
O arquivo ieducar/intranet/funcionario_vinculo_det.php, na linha 17, recebe o parâmetro GET cod_func, o qual é concatenado à query que será realizada, permitindo que um atacante consiga manipulá-la:
PoC
Podemos utilizar o sqlmap para exploração facilitada dessa vulnerabilidade:
Impacto
A exploração bem-sucedida dessa falha permite que um atacante tenha acesso completo e irrestrito ao banco de dados, com um usuário web com permissionamento mínimo. Isso pode implicar na obtenção de informações de usuários, como e-mails, hashes de senha, etc
Mitigação
A utilização de prepared statements é necessária para mitigação completa desse tipo de vulnerabilidade. Tentativas como substituição ou blacklist podem não ser tão efetivas e não são recomendadas.
Referências