Cross-Site Request Forgery (CSRF) é uma das formas mais antigas de explorar as vulnerabilidades de um site. Destina-se a switches da web do lado do servidor que geralmente requerem autenticações, como login. Durante um ataque CSRF, um invasor tem como objetivo forçar sua vítima a fazer uma solicitação da Web mal-intencionada e não autorizada em seu nome.

Práticas fracas ou inadequadas de segurança de sites e descuido no caminho do usuário são algumas das causas comuns de um ataque CSRF bem-sucedido.

Vejamos o que é um ataque CSRF e as maneiras possíveis de se prevenir dele como desenvolvedor ou usuário.

Como os ataques CSRF afetam você?

Um CSRF é um ataque usado para implementar solicitações não autorizadas durante ações da web que exigem login ou autenticação do usuário. Ataques CSRF podem tirar vantagem de IDs de sessão, cookies, bem como outras vulnerabilidades baseadas em servidor para roubar as credenciais de um usuário.

Por exemplo, habilitar procedimentos anti-CSRF evita interações maliciosas entre domínios.

instagram viewer

Uma vez que essa barreira é quebrada, um invasor pode tirar vantagem rapidamente da ID de sessão do usuário por meio dos cookies criados pelo navegador do usuário e incorporar uma tag de script no site vulnerável.

Ao manipular um ID, o invasor também pode redirecionar os visitantes para outra página da web ou explorar métodos de engenharia social como e-mail para enviar links, incentivando a vítima a baixar software malicioso.

O que é engenharia social? Veja como você pode ser hackeado

Aprenda como a engenharia social pode afetar você, além de exemplos comuns para ajudá-lo a identificar e se proteger desses esquemas.

Depois que a vítima executa essas ações, ela envia uma solicitação HTTP para a página de serviço do usuário e autoriza a ação de solicitação em favor do invasor. Isso pode ser devastador para um usuário desavisado.

Um ataque CSRF bem-sucedido pode fazer com que usuários autorizados percam suas credenciais de acesso a um invasor, especialmente durante ações baseadas no servidor, como solicitações de alteração de senha ou nome de usuário. Em cenários piores, o invasor assume toda a sessão e age em nome dos usuários.

O CSRF tem sido usado para sequestrar transações de fundos pela web, bem como alterar nomes de usuário e senhas, o que leva os usuários a perderem o acesso ao serviço afetado.

Como invasores sequestram suas sessões com CSRF: exemplos

Os principais alvos de ataques CSRF são ações da web que envolvem a autenticação de um usuário. Para ter sucesso, são necessárias ações não intencionais da vítima.

Durante um ataque CSRF, as ações GET, DELETE e PUT, bem como as solicitações POST vulneráveis, são os principais alvos de um invasor.

Vejamos o significado desses termos:

  • OBTER: Uma solicitação para coletar um resultado do banco de dados; por exemplo, pesquisa do Google.
  • PUBLICAR: Normalmente, para enviar solicitações por meio de formulários da web. Uma solicitação POST é comum durante o registro ou login de um usuário, também conhecido como autenticação.
  • EXCLUIR: Para remover um recurso do banco de dados. Você faz isso sempre que exclui sua conta de um serviço da web específico.
  • POR: Uma solicitação PUT modifica ou atualiza um recurso existente. Um exemplo é mudando seu nome no Facebook.

Na prática, os invasores usam o sequestro de sessão para fazer backup de um ataque CSRF. Ao usar essa combinação, o invasor pode usar um hijack para alterar o endereço IP da vítima.

A mudança no endereço IP então registra a vítima em um novo site onde o invasor inseriu um link enganoso que envia um formulário replicado ou solicitação de servidor modificada criada por CSRF.

Um usuário desavisado pensa que o redirecionamento vem do provedor de serviços e clica no link na página do invasor. Depois de fazer isso, os hackers enviam um formulário no carregamento da página sem o seu conhecimento.

Exemplo de um ataque CSRF de solicitação GET

Imagine tentar fazer um pagamento online por meio de uma plataforma de e-commerce não segura. Os proprietários da plataforma usam a solicitação GET para processar sua transação. Essa consulta GET pode ter a seguinte aparência:

https://websiteurl/pay? montante = $ 10 & empresa = [conta da empresa ABC]

Um sequestrador pode roubar sua transação facilmente, alterando os parâmetros da solicitação GET. Para fazer isso, tudo o que eles precisam fazer é trocar o seu nome pelo deles e, pior, alterar o valor que você pretende pagar. Em seguida, eles ajustam a consulta original para algo assim:

https://websiteurl/pay? montante = $ 20.000 & empresa = [conta do invasor]

Depois de clicar em um link para essa solicitação GET modificada, você acaba fazendo uma transferência não intencional para a conta do invasor.

Transacionar por meio de solicitações GET é uma prática ruim e torna as atividades vulneráveis ​​a ataques.

Exemplo de um ataque de CSRF de solicitação POST

No entanto, muitos desenvolvedores acreditam que usar a solicitação POST é mais seguro para fazer transações na web. Embora isso seja verdade, infelizmente, uma solicitação POST também é suscetível a ataques CSRF.

Para sequestrar com êxito uma solicitação POST, tudo o que um invasor precisa é sua ID de sessão atual, alguns formulários invisíveis replicados e, às vezes, um pouco de engenharia social.

Por exemplo, um formulário de solicitação POST pode ter a seguinte aparência:







No entanto, um invasor pode trocar sua credencial criando uma nova página e modificando o formulário acima para:









Na forma manipulada, o invasor define o valor do campo de quantidade para "30000", troca o o número da conta do destinatário, envia o formulário no carregamento da página e também oculta os campos do formulário o usuário.

Depois que eles sequestram a sessão atual, sua página de transação inicia um redirecionamento para a página do invasor, que solicita que você clique em um link que eles sabem que você provavelmente visitará.

Clicar aqui carrega o envio do formulário replicado, que transfere seus fundos para a conta do invasor. Isso significa que você não precisa clicar em botões como "enviar" para que a transação ocorra, pois o JavaScript faz isso automaticamente ao carregar a próxima página da web.

Como alternativa, um invasor também pode criar um rascunho de um e-mail incorporado em HTML que solicita que você clique em um link para realizar o mesmo envio de formulário de carregamento de página.

Outra ação vulnerável a um ataque CSRF é uma alteração de nome de usuário ou senha, um exemplo de solicitação PUT. Um invasor replica seu formulário de solicitação e substitui seu endereço de e-mail pelo dele.

Em seguida, eles roubam sua sessão e o redirecionam para uma página ou enviam um e-mail solicitando que você clique em um link atraente.

Isso então envia um formulário manipulado que envia o link de redefinição de senha para o endereço de e-mail do hacker em vez do seu. Dessa forma, o hacker altera sua senha e o desconecta de sua conta.

Como prevenir ataques CSRF como desenvolvedor

Um dos melhores métodos para evitar um CSRF é usar tokens de alteração frequente em vez de depender de cookies de sessão para executar uma alteração de estado no servidor.

Relacionado: Guias gratuitos para entender a segurança digital e proteger sua privacidade

Muitas estruturas de back-end modernas oferecem segurança contra CSRF. Portanto, se você deseja evitar os detalhes técnicos de se fortalecer contra o CSRF, pode lidar com isso facilmente usando estruturas do lado do servidor que vêm com tokens anti-CSRF integrados.

Quando você usa um token anti-CSRF, as solicitações baseadas no servidor geram cadeias de caracteres aleatórias em vez de cookies de sessão vulneráveis ​​mais estáticos. Dessa forma, você protege sua sessão de ser adivinhada pelo sequestrador.

Implementar um sistema de autenticação de dois fatores (2FA) para executar transações em seu aplicativo da web também reduz as chances de um CSRF.

É possível iniciar um CSRF por meio de cross-site scripting (XSS), que envolve a injeção de script em campos do usuário, como formulários de comentários. Para evitar isso, é recomendável habilitar o escape automático de HTML em todos os campos de formulário do usuário em seu site. Essa ação impede que os campos do formulário interpretem os elementos HTML.

Como prevenir ataques CSRF como um usuário

Como usuário de um serviço da Web que envolve autenticação, você tem um papel a desempenhar para impedir que invasores roubem suas credenciais e sessões por meio de CSRF também.

Certifique-se de usar serviços da Web confiáveis ​​durante atividades que envolvam transferência de fundos.

Além disso, use navegadores da web seguros que protegem os usuários da exposição da sessão, bem como mecanismos de pesquisa seguros que protegem contra vazamentos de dados de pesquisa.

Relacionado: Os melhores mecanismos de pesquisa privados que respeitam seus dados

Como usuário, você também pode depender de autenticadores de terceiros, como Google Authenticator ou suas alternativas para verificar sua identidade na web.

Embora você possa se sentir impotente para impedir que um invasor roube sua sessão, você ainda pode ajudar evite isso garantindo que seu navegador não armazene informações como senhas e outros tipos de login detalhes.

Aumente a sua segurança na web

Os desenvolvedores precisam testar regularmente os aplicativos da web quanto a violações de segurança durante o desenvolvimento e a implantação.

No entanto, é comum introduzir outras vulnerabilidades ao tentar prevenir outras. Portanto, tome cuidado para garantir que você não violou outros parâmetros de segurança ao tentar bloquear um CSRF.

O email
5 ferramentas de senha para criar senhas fortes e atualizar sua segurança

Crie uma senha forte da qual você possa se lembrar mais tarde. Use esses aplicativos para atualizar sua segurança com novas senhas fortes hoje.

Tópicos relacionados
  • Segurança
  • Segurança Online
Sobre o autor
Idowu Omisola (46 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com programação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.

.