Pular para o conteúdo principal

Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — CESGRANRIO 2023

Arquitetura de SoftwareConceitos Básicos em Arquitetura de Software
Código
cg019932
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2023
Nível
Superior
Cargo
Profissional de Nível Superior - Junior: Ênfase: 5: Análise de Sistemas: Segurança Cibernética e da Informação
Os registros do Common Weakness Enumeration (CWE) estão se tornando uma base de conhecimento valiosa sobre exposição a vulnerabilidades. Dentre os 25 pontos fracos de softwares, que são considerados os mais perigosos na listagem de 2023, consta a neutralização inadequada de entrada durante a geração de páginas da Web, que pode ser dividida em três principais tipos.O tipo de neutralização inadequada na qual o cliente realiza a injeção de XSS na página é o
  1. ADOM-Based XSS
  2. BReflected XSS
  3. CStored XSS
  4. DCRLF Injection
  5. ELDAP Injection
Revelar gabarito e comentário

GabaritoA — DOM-Based XSS

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Neutralização inadequada de entrada (XSS)

Gabarito: letra A. A questão pergunta qual tipo de XSS ocorre quando a injeção é feita pelo cliente, ou seja, no lado do navegador, manipulando o DOM da página – exatamente a definição de DOM-Based XSS.

A banca cobra a distinção entre os três principais tipos de Cross-Site Scripting. A chave é identificar onde a injeção acontece:

  • DOM-Based XSS: a vulnerabilidade está no código JavaScript do lado do cliente que processa dados de fontes não confiáveis e os insere dinamicamente no DOM. A injeção ocorre inteiramente no navegador, sem que o servidor participe.

  • Reflected XSS: a entrada maliciosa é refletida pelo servidor na resposta HTTP, geralmente em mensagens de erro ou resultados de busca. A injeção acontece no servidor e é refletida de volta ao cliente.

  • Stored XSS: o código malicioso é armazenado permanentemente no servidor (banco de dados, fórum, comentários) e executado quando outros usuários acessam a página.

1DOM-Based
Injeção no cliente (navegador)
Manipula o DOM
Servidor não participa
2Reflected
Injeção no servidor
Refletida na resposta HTTP
3Stored
Injeção no servidor
Armazenado (banco/fórum)
Executado por outros usuários
XSS (Cross-Site Scripting)
LEVELsoulevel.com.br
XSS (Cross-Site Scripting): DOM-Based (Injeção no cliente (navegador), Manipula o DOM, Servidor não participa); Reflected (Injeção no servidor, Refletida na resposta HTTP); Stored (Injeção no servidor, Armazenado (banco/fórum), Executado por outros usuários)

Alternativa A — ✅ Correta ⟵ GABARITO

DOM-Based XSS é exatamente o tipo em que a injeção é realizada no lado do cliente, via manipulação do DOM, sem que o servidor precise reenviar o payload. O atacante explora vulnerabilidades no JavaScript da página (por exemplo, document.write, innerHTML) que processam entradas do usuário.

Alternativa B — ❌ Incorreta

Reflected XSS ocorre quando a entrada do usuário é refletida pelo servidor na resposta HTTP. A injeção não é puramente do cliente – depende de o servidor incluir o payload na resposta. Portanto, não se enquadra na descrição de "cliente realiza a injeção".

Alternativa C — ❌ Incorreta

Stored XSS também depende do servidor: o payload é armazenado (num banco, por exemplo) e posteriormente servido a outros clientes. A injeção não é iniciada pelo cliente que visualiza a página; ela foi persistida anteriormente.

Alternativa D — ❌ Incorreta

CRLF Injection (Injeção de CRLF) não é um tipo de XSS. É uma vulnerabilidade de quebra de linha no cabeçalho HTTP, usada para envenenamento de cache ou sequestro de sessão. Está fora do escopo da classificação de XSS.

Alternativa E — ❌ Incorreta

LDAP Injection é um ataque de injeção em consultas LDAP, também não relacionada a XSS. A pergunta trata especificamente de XSS durante a geração de páginas Web.

PEGA ESSA DICA!

Para fixar, lembre-se: DOM-Based = cliente (DOM puro); Reflected = servidor reflete; Stored = servidor armazena. A banca adora cobrar essa diferença. Quando a questão diz "cliente realiza a injeção", a resposta é sempre DOM-Based XSS.

Gabarito: letra A.

Link permanente: /questoes/cg019932