Questão de Segurança da Informação — Ataques a Aplicações Web (XSS, CSRF, SQL Injection etc.) — VUNESP 2022
- Código
- vu156684
- Banca
- VUNESP
- Órgão
- ALESP
- Ano
- 2022
- Cargo
- Ana Leg ( )
Um formulário web de um sistema de uma empresa solicita um nome de login e uma senha em sua página principal, tendo como objetivo autenticar o usuário e fornecer acesso restrito. Sabe-se que esse sistema utiliza a seguinte query em SQL para localizar o usuário em uma tabela do banco de dados:
SELECT * FROM Users WHERE UserLogin =
"uName" AND Pass = "uPass"
em que uName e uPass são substituídos pelo conteúdo literal inserido pelo usuário nas caixas de digitação do login e senha, respectivamente, sem nenhum tratamento.
As aspas presentes na query acima fazem parte de seu conteúdo.
Quando essa query não retorna nenhum resultado, o sistema emite uma mensagem de login inválido. Quando essa query retorna algum resultado, é fornecido acesso ao sistema com o login do primeiro usuário retornado na consulta.
Um ataque baseado em SQL Injection, para obter acesso indevido ao sistema, com alguma conta de usuário qualquer, poderia ser tentado com o seguinte preenchimento nas caixas correspondentes a uName e uPass:
Dado: as aspas, quando apresentadas, fazem parte do conteúdo preenchido.
- AuName: admin
uPass: "OR 1 = 1" - BuName: DROP TABLE
uPass: Users; - CuName: OR 1 = 1
uPass: OR 1 = 1 - D uName: admin
uPass: " OR "" = " - E uName: DROP TABLE Users;
uPass: (vazio)