Diferença entre XSS e CSRF

o diferença chave entre XSS e CSRF é que, no XSS (ou Cross Site Scripting), o site aceita o código malicioso, enquanto, no CSRF (ou Cross Site Request Forgery), o código malicioso é armazenado nos sites de terceiros. O XSS é um tipo de vulnerabilidade de segurança do computador em aplicativos da web que permite que invasores injetem scripts do lado do cliente em páginas da web visualizadas por outros usuários. Por outro lado, o CSRF é um tipo de atividade maliciosa de um hacker ou site que transmite comandos não autorizados nos quais o aplicativo Web do usuário confiará.

Desenvolvimento Web é o processo de programar um site de acordo com os requisitos do cliente. Toda organização mantém sites. Esses sites ajudam a melhorar os negócios e obter lucro. Ao mesmo tempo, pode haver ameaças que afetam a funcionalidade do site. Dois deles são XSS e CSRF.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é XSS
3. O que é CSRF
4. Comparação lado a lado - XSS vs CSRF em forma de tabela
5. Resumo

O que é XSS?

XSS é um ataque de injeção de código que injeta código malicioso no site. É um dos ataques mais comuns do site. Isso pode afetar o site e também os usuários desse site. Em outras palavras, quando houver um ataque XSS no site, esse código será executado nos usuários desse site pelo navegador.

Figura 01: Ataque XSS

Um idioma comum para escrever código malicioso para XSS é o JavaScript. O XSS pode roubar os cookies do usuário. Ele pode modificar a página da Web para parecer e se comportar de maneira diferente. Além disso, ele pode exibir downloads de malware e alterar as configurações do usuário.

Existem dois tipos de ataques XSS. Eles são chamados persistentes e não persistentes. Dentro ataque XSS persistente, o código malicioso é armazenado no banco de dados do site. O usuário pode acessá-lo sem nenhum conhecimento. o ataque XSS não persistente também é chamado XSS refletido. Ele envia o script malicioso como uma solicitação HTTP. Esses são os dois principais tipos de XSS.

O que é CSRF?

Em um site, há um lado do cliente e o lado do servidor. As páginas da web, os formulários estão no lado do cliente. O lado do servidor executa uma ação quando o usuário age. O servidor também recebe solicitações de outros sites.

O ataque CSRF engana o usuário para interagir com uma página ou um script em um site de terceiros. Irá gerar uma solicitação maliciosa no site do usuário. Mas o servidor assume que é uma solicitação de um site autorizado. Quando o usuário aceita, um invasor pode assumir o controle usando os dados enviados na solicitação.

Um exemplo é o seguinte. Um usuário faz login na sua conta bancária. O banco fornece um token de sessão. Um hacker pode enganar o usuário a clicar em um link falso que aponta para o banco. Quando o usuário clica no link, ele usa o token da sessão anterior. Em seguida, a solicitação do hacker é executada e a conta do usuário é invadida. Ele pode transferir dinheiro da sua conta. A solicitação ao banco é forjada, pois usa o mesmo token de sessão do usuário. No geral, é importante saber como proteger o site contra ataques de CSRF no desenvolvimento da Web.

Qual é a diferença entre XSS e CSRF?

XSS significa Cross Site Scripting e CSRF significa Cross Site Request Forgery. XSS é um tipo de vulnerabilidade de segurança do computador em aplicativos da web que permite que invasores injetem scripts do lado do cliente em páginas da web visualizadas por outros usuários. O CSRF é um tipo de atividade mal-intencionada de um hacker ou site que transmite comandos não autorizados nos quais o aplicativo Web do usuário confiará. Além disso, o XSS requer JavaScript para escrever o código malicioso enquanto o CSRF não requer JavaScript.

Além disso, no XSS, o site aceita o código malicioso, enquanto no CSRF, o código malicioso é armazenado em sites de terceiros. Essa é a principal diferença entre XSS e CSRF. Geralmente, um site vulnerável ao ataque XSS também é vulnerável ao ataque CSRF. No entanto, um site que tenha proteção contra XSS ainda pode ser vulnerável a ataques de CSRF.

Resumo - XSS vs CSRF

XSS e CSRF são dois tipos de ataques a um site. XSS significa Cross Site Scripting, enquanto CSRF significa Cross Site Request Forgery. A diferença entre XSS e CSRF é que, no XSS, o site aceita o código malicioso enquanto, no CSRF, o código malicioso é armazenado nos sites de terceiros.

Referência:

1.DrapsTV. Tutorial 2 do XSS - Scripts não persistentes (XSS refletido), DrapsTV, 23 de janeiro de 2015. Disponível aqui  
2.O que é CSRF ?, Hacksplaining, 4 de março de 2017. Disponível aqui 
3.DrapsTV. Tutorial XSS # 3 - Scripts persistentes, DrapsTV, 26 de janeiro de 2015. Disponível aqui
4.DrapsTV. Tutorial XSS # 1 - O que é script entre sites ?, DrapsTV, 22 de janeiro de 2015. Disponível aqui  

Cortesia da imagem:

1.'26393980275 'b Christiaan Colen (CC BY-SA 2.0) via Flickr