Cross Site Request Forgery
Esta vulnerabilidade em aplicações web permite que um atacante induza os utilizadores a tomar ações involuntárias, ou seja, permite que um atacante consiga ultrapassar uma política designada por Mesma Origem, cujo objetivo é prevenir websites diferentes de interferir uns com os outros.
Um exemplo muito claro é a possibilidade de um atacante poder transferir dinheiro de uma conta bancária para outra. Mas pode acontecer também:
- alterar o endereço de email da conta associada à vítima
- alterar a palavra-passe
- tomar o controlo total da conta
O que é necessário para que este ataque seja possível
- Uma ação relevante: mudar a palavra-passe, alterar as permissões, etc
- Processamento das sessões: o servidor deverá gerir as sessões com base apenas nos cookies
- Parâmetros do pedido previsíveis: o atacante consegue determinar ou adivinhar os parâmetros necessários para o pedido
A imagem representa o que se designa por prova de conceito quanto a este tipo de ataque.
Essencialmente, o atacante pode criar uma página web com este código HTML (Hyper Text Markup Language).
O que se sucede depois da vítima ir a esta página?
- A página vai original um pedido HTTP ao site vulnerável
- Caso o utilizador esteja loggado no site vulnerável, o browser já inclui o seu cookie de sessão
- O site vulnerável vai processar o pedido de forma normal, tratando-o como tendo sido efetuado pelo utilizador, e, neste caso, alterar o seu email (podes ver no url /email/change)