fbpx

O que é CSRF?

Neste artigo, exploraremos o conceito dessa falha de segurança, discutindo suas implicações e consequências para os usuários e as medidas para preveni-la, vale lembrar que para aprender essa técnica e muitas outras, conheça nossa plataforma de treinamentos de cibersegurança: https://hackersec.com/academy/

O que é CSRF (Cross-Site Request Forgery)?

CSRF, também conhecido como ataque de falsificação de solicitações entre sites, explora a confiança que os aplicativos web depositam em seus usuários autenticados. Nesse tipo de ataque, um invasor consegue fazer com que um usuário legítimo execute uma ação indesejada em um aplicativo web, aproveitando-se do fato de que as solicitações enviadas a partir do navegador do usuário incluem automaticamente os cookies de autenticação.

Funcionamento do CSRF

Para entender como o CSRF funciona, é necessário conhecer o fluxo básico desse tipo de ataque. O invasor cria uma página maliciosa que contém uma solicitação disfarçada para uma ação específica no aplicativo web alvo. Em seguida, ele convence o usuário autenticado a visitar essa página, geralmente por meio de técnicas de engenharia social. Quando o usuário carrega a página maliciosa, a solicitação é enviada automaticamente, utilizando os cookies de autenticação presentes no navegador, levando o aplicativo web a executar a ação indesejada.

Consequências do CSRF

As consequências de um ataque CSRF podem ser diversas e prejudiciais tanto para os usuários quanto para os aplicativos web. Alguns exemplos incluem a alteração de informações pessoais, a execução de transações financeiras indesejadas, a modificação de configurações críticas do aplicativo e até mesmo a divulgação de dados confidenciais.

Neste exemplo, iremos utilizar o laboratório do DVWA, onde existe um formulário para mudança de senha.

Ao preencher o formulário e alterar a senha, a aplicação envia os parâmetros via método GET para efetuar a alteração.

Sabendo que a aplicação envia os parâmetros na URL via GET, é possível criar um formulário em uma página maliciosa e induzir um usuário autenticado a acessar a página e executar ações no site sem que ele perceba.

Nesse caso, foi criado um formulário com base no código-fonte da página de alteração de senha, onde os campos de entrada já preenchidos com os valores escolhidos pelo atacante foram ocultados.

Através de engenharia social, o atacante enviará a página para o alvo e quando o usuário-alvo acessar a página, ele não perceberá que ao clicar no botão ‘Desconto’, sua senha será alterada para aquela escolhida pelo atacante.

Ao clicar no botão de “Desconto” a senha foi alterada com sucesso.

Medidas de Proteção contra CSRF

Utilização de Tokens Anti-CSRF (CSRF tokens) A inclusão de tokens anti-CSRF em formulários e solicitações AJAX é uma prática comum para proteger contra ataques CSRF. Esses tokens são gerados pelo servidor e incorporados nas páginas ou enviados como cabeçalhos em solicitações AJAX. O servidor valida a presença e a correspondência desses tokens antes de processar as solicitações, garantindo que elas sejam legítimas e originadas do próprio aplicativo web.

Verificação de Origem (Same-Origin Policy) A Same-Origin Policy é uma política de segurança implementada pelos navegadores que restringe as solicitações feitas a partir de um site a apenas recursos do mesmo domínio. Isso ajuda a prevenir ataques CSRF, pois impede que um site malicioso faça solicitações em nome do usuário para outro domínio.

Utilização de Headers HTTP Os headers HTTP, como o Content-Type e o Referer, podem ser utilizados para fornecer informações adicionais que auxiliam na proteção contra CSRF. Por exemplo, definir o cabeçalho Referer para verificar se a origem da solicitação é o mesmo domínio pode ajudar a bloquear solicitações maliciosas.

Implementação de Captchas e Autenticação em Duas Etapas A inclusão de captchas em formulários pode dificultar o sucesso de ataques CSRF, pois exige que o usuário prove que é um ser humano real. Além disso, a implementação de autenticação em duas etapas fornece uma camada adicional de segurança, exigindo que o usuário forneça uma segunda forma de autenticação, como um código enviado por SMS, antes de executar a ação desejada.

Validar a segurança da sua empresa

Além de saber como funciona e como mitigar esse tipo de ataque, vale a pena também testar a cibersegurança da sua empresa com especialistas da HackerSec, para isso conheça nossas soluções para empresa: https://hackersec.com/empresas/

Teste você mesmo em nosso CTF

Todos os testes foram feitos nos laboratórios do CTF da HackerSec: https://hackersec.com/ctf/