Diferença entre XSS e injeção SQL

o diferença chave entre XSS e Injeção SQL é que o XSS (ou Cross Site Scripting) é um tipo de vulnerabilidade de segurança do computador que injeta código mal-intencionado no site, para que o código seja executado nos usuários desse site pelo navegador enquanto a injeção SQL é outro mecanismo de invasão de sites que adiciona código SQL a um site. caixa de entrada de formulário da Web para obter acesso a recursos ou fazer alterações nos dados.

Toda organização mantém sites, que ajudam a melhorar os negócios e a lucratividade. Um aplicativo da web contém o lado do cliente e o servidor. O lado do cliente inclui as interfaces com o usuário para interagir com o aplicativo. O lado do servidor inclui o banco de dados. Geralmente, existem ameaças que afetam o bom funcionamento do aplicativo. Dois deles são injeção XSS e SQL.

CONTEÚDO

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

O que é XSS?

XSS significa Cross Site Scripting e é um dos ataques mais comuns a sites. Isso pode afetar esse site específico, bem como os usuários desse site. O idioma mais comum para escrever código malicioso para ataques XSS é o JavaScript. O XSS pode roubar cookies do usuário, alterar a configuração do usuário, exibir vários downloads de malware e muito mais.

Figura 01: XSS

Existem dois tipos de XSS. Eles são o XSS persistente e não persistente. Dentro XSS persistente, o código malicioso salva no servidor no banco de dados. Em seguida, ele será executado na página normal. Dentro XSS não persistente, o código malicioso injetado será enviado ao servidor por meio de uma solicitação HTTP. Geralmente, esses ataques podem ocorrer nos campos de pesquisa.

O que é injeção SQL?

O SQL Injection é outro mecanismo de hacking de sites. Ele coloca um código malicioso nas instruções SQL via entrada da página da web. Um site contém formulários para coletar entradas do usuário. Ao solicitar ao usuário informações como nome de usuário, userid, ele pode fornecer uma instrução SQL em vez do nome e da mesma. Então, ele pode ser executado no banco de dados do site.

Figura 02: Injeção de SQL

Além disso, alguns exemplos de injeções de SQL são os seguintes;

Pode haver uma situação para pesquisar um usuário através do ID do usuário. Se não houver um método de validação de entrada, o usuário poderá inserir uma entrada incorreta. Se ele inserir o ID do usuário como 100 OU 1 = 1, ele gerará uma instrução SQL da seguinte maneira.

selecione * nos usuários em que userid = 100 ou 1 = 1;

Esta instrução SQL pode retornar todos os usuários no banco de dados porque 1 = 1 é sempre verdadeiro. Se este era um hacker e se o banco de dados continha dados confidenciais, como senhas, ele pode obter acesso aos nomes de usuário e senhas. Esse é um exemplo para injeção SQL.

Qual é a diferença entre XSS e injeção de SQL?

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. A injeção SQL é uma técnica de injeção de código, que ataca aplicativos orientados a dados que inserem instruções SQL em uma entrada arquivada para execução.

O XSS injeta código malicioso no site, para que o código seja executado nos usuários desse site pelo navegador. Por outro lado, a injeção SQL adiciona código SQL a uma caixa de entrada de formulário da Web para obter acesso a recursos ou fazer alterações nos dados. Essa é a principal diferença entre XSS e SQL Injection. A linguagem mais comum para XSS é JavaScript, enquanto a injeção SQL usa SQL.

Resumo - XSS vs Injeção SQL

A diferença entre XSS e SQL Injection é que o XSS injeta código malicioso no site, para que o código seja executado nos usuários desse site pelo navegador enquanto a injeção SQL adiciona código SQL a uma caixa de entrada de formulário da Web para obter acesso a recursos ou fazer alterações nos dados.

Referência:

1. “O que é injeção SQL? - Definição de WhatIs.com. ” SearchSoftwareQuality, TechTarget. Disponivel aqui 
2. "Injeção de SQL". Tutoriais on-line da Web do W3Schools. Disponivel aqui 
3. “O que é XSS (Cross-Site Scripting)? - Definição de WhatIs.com. ” SearchSecurity, TechTarget. Disponivel aqui  

Cortesia da imagem:

1.'26327769571 'por Christiaan Colen (CC BY-SA 2.0) via Flickr
2. Injeção de SQL'By Batka savemazaalai - Obra própria, (CC BY-SA 4.0) via Commons Wikimedia