Questão de TI - Desenvolvimento de Sistemas — Javascript — Com. Org. (IFSP) 2026
- Código
- qa431870
- Banca
- Com. Org. (IFSP)
- Órgão
- IF SP
- Ano
- 2026
- Cargo
- Ana TI ( )
Durante um hackathon de segurança, uma das equipes construiu rapidamente uma funcionalidade de comentários para um sistema de compras.
Para permitir o uso de formatação HTML nos comentários, o desenvolvedor implementou o seguinte template:
<form method=”POST” action=”/
comentario/”>
{% csrf_token %}
<textarea name=”texto”></textarea>
<button type=”submit”>Enviar</button>
</form>
<p>Último comentário:</p>
<div>{{ ultimo_comentario|safe }}</div>
Após algum tempo, um usuário publicou o seguinte texto no conteúdo do comentário:
Produto muito bom!
<script>
fetch(‘/transferir?valor=100&accou
nt=8743291’, {method: ‘POST’, credentials:
‘include’});
</script>
Outros usuários que acessaram a página tiveram transferências não autorizadas de suas contas. Com base nesse cenário, qual opção explica a falha explorada, indicando o tipo de ataque e como corrigi-la sem perder a possibilidade de exibir algum HTML formatado nos comentários?
- AO ataque é um CSRF, pois o script realiza uma requisição POST autenticada. A correção é ativar o middleware de proteção CSRF e validar o token de cada requisição.
- BO ataque é um XSS, pois o código do comentário é executado no navegador de outros usuários. A correção é filtrar e limpar o HTML permitido (mantendo apenas tags seguras, como <b> ou <i>).
- CO ataque é um XSS, pois o script é executado logo após o envio do comentário. A correção é utilizar o auto-escape com a exibição do comentário realizada pelo código: <div>{{ ultimo_comentario }}</div>
- DÉ uma falha de validação de entrada por CSRF, pois o sistema não restringe o conteúdo do comentário. A correção é bloquear qualquer HTML e exibir apenas texto puro.