Prévia do material em texto
Cross-site scripting (XSS) O que e um ataque de Cross-Site Scripting (XSS)? a) Um ataque que explora falhas de autenticacao em servidores. b) Um ataque que injeta scripts maliciosos em paginas web vistas por outros usuarios. c) Um ataque que corrompe o banco de dados diretamente. d) Um ataque que apenas consome a largura de banda do site. Resposta explicativa: A alternativa correta e a b. XSS ocorre quando um invasor consegue inserir codigo malicioso (geralmente JavaScript) em paginas que serao carregadas por outros usuarios, permitindo roubo de cookies, redirecionamentos maliciosos ou execucao de acoes em nome da vitima. Qual das seguintes e uma forma tipica de XSS refletido? a) Scripts armazenados permanentemente em um banco de dados. b) Scripts que sao enviados em uma URL e refletidos imediatamente na pagina de resposta. c) Scripts que afetam o servidor sem interacao do usuario. d) Scripts executados apenas em aplicativos moveis. Resposta explicativa: A alternativa correta e a b. No XSS refletido, o codigo malicioso faz parte da requisicao do usuario, normalmente via parametros de URL, e e refletido de volta pelo servidor na pagina web, sendo executado no navegador da vitima. Qual e a principal diferenca entre XSS armazenado e XSS refletido? a) XSS armazenado envolve scripts temporarios, enquanto XSS refletido envolve scripts permanentes. b) XSS armazenado injeta scripts que ficam guardados permanentemente no servidor, enquanto XSS refletido ocorre somente durante a requisicao. c) XSS refletido exige vulnerabilidade no navegador, enquanto XSS armazenado nao. d) Nao existe diferenca, ambos sao exatamente iguais. Resposta explicativa: A alternativa correta e a b. XSS armazenado ocorre quando o script malicioso e guardado no banco de dados do site (como comentarios ou perfis de usuario), sendo executado sempre que alguem acessa a pagina. XSS refletido ocorre apenas quando a requisicao maliciosa e feita e refletida imediatamente na resposta do servidor. O que o XSS DOM-based explora especificamente? a) A comunicacao insegura entre servidor e banco de dados. b) A manipulacao do Document Object Model (DOM) no navegador do usuario. c) Vulnerabilidades no protocolo HTTP. d) Falhas em firewalls para injetar scripts. Resposta explicativa: A alternativa correta e a b. XSS baseado em DOM ocorre quando scripts maliciosos manipulam diretamente o DOM no navegador da vitima, sem que o servidor precise refletir ou armazenar o codigo. Ele explora falhas no lado do cliente. Qual dos seguintes exemplos representa um risco tipico de XSS? a) Um site que aceita qualquer entrada do usuario e a exibe em comentarios sem sanitizacao. b) Um site que apenas exibe imagens externas. c) Um servidor que criptografa senhas com bcrypt. d) Um firewall bloqueando portas desnecessarias. Resposta explicativa: A alternativa correta e a a. Quando um site exibe conteudo inserido pelo usuario sem validacao ou escape apropriado, ele se torna vulneravel a XSS, permitindo que scripts maliciosos sejam executados no navegador de outros visitantes. Qual e a principal consequencia de um ataque XSS bem-sucedido? a) Destruicao imediata do servidor. b) Execucao de scripts no navegador do usuario que podem roubar informacoes ou manipular sessoes. c) Diminuicao da velocidade da rede. d) Exclusao automatica de arquivos do computador da vitima. Resposta explicativa: A alternativa correta e a b. XSS permite que um atacante execute scripts no navegador da vitima, podendo roubar cookies, tokens de sessao, redirecionar usuarios para sites maliciosos ou realizar acoes em nome deles. Qual das seguintes praticas e mais eficaz para prevenir XSS em campos de entrada do usuario? a) Criptografar todas as entradas do usuario. b) Escapar ou sanitizar todas as entradas antes de exibir no HTML. c) Desabilitar JavaScript no servidor. d) Usar apenas senhas fortes. Resposta explicativa: A alternativa correta e a b. Sanitizar ou escapar entradas do usuario impede que scripts maliciosos sejam interpretados como codigo pelo navegador, protegendo contra XSS. O que significa escaping no contexto de prevencao de XSS? a) Remover todos os dados do banco de dados antes de exibir na pagina. b) Substituir caracteres especiais por entidades HTML seguras para evitar execucao de scripts. c) Criptografar todo o conteudo da pagina. d) Limitar o numero de usuarios que podem acessar o site. Resposta explicativa: A alternativa correta e a b. Escapar caracteres especiais, como e &, impede que o navegador interprete dados de entrada como codigo executavel, neutralizando tentativas de XSS. Por que cookies de sessao sao um alvo comum em ataques XSS? a) Porque XSS permite acessar cookies de sessao atraves de scripts injetados, possibilitando roubo de sessoes. b) Porque XSS altera diretamente a configuracao do servidor. c) Porque cookies de sessao podem ser deletados pelo usuario. d) Porque cookies nao tem relacao com XSS. Resposta explicativa: A alternativa correta e a a. Scripts injetados via XSS podem acessar cookies armazenados no navegador, capturando tokens de sessao e permitindo que o atacante se passe pelo usuario legitimo. Qual e a funcao do atributo HttpOnly em cookies em relacao a XSS? a) Permitir que cookies sejam lidos apenas por scripts. b) Impedir que cookies sejam acessiveis via JavaScript, dificultando roubo de sessao por XSS. c) Criptografar cookies no banco de dados. d) Forcar o uso de HTTPS para todas as requisicoes. Resposta explicativa: A alternativa correta e a b. Cookies com a flag HttpOnly nao podem ser acessados via JavaScript, reduzindo significativamente o impacto de ataques XSS que tentam roubar tokens de sessao. Qual e a diferenca entre XSS armazenado e ataques de injecao de SQL? a) XSS altera dados no banco de dados, enquanto SQL Injection altera apenas o HTML da pagina. b) XSS injeta scripts no navegador do usuario, enquanto SQL Injection manipula comandos SQL no servidor. c) Ambos sao a mesma coisa, so mudam os nomes. d) XSS nao e um ataque real, enquanto SQL Injection e. Resposta explicativa: A alternativa correta e a b. XSS injeta codigo executado no navegador da vitima, afetando usuarios finais, enquanto SQL Injection explora falhas no servidor para acessar ou modificar dados no banco de dados. Por que XSS e considerado um ataque do lado do cliente? a) Porque o atacante precisa acessar fisicamente o computador da vitima. b) Porque o codigo malicioso e executado no navegador do usuario, nao no servidor. c) Porque sempre envolve malware instalado no servidor. d) Porque depende de protocolos de rede externos. Resposta explicativa: A alternativa correta e a b. Em XSS, o servidor geralmente apenas entrega a pagina com conteudo vulneravel; a execucao do codigo malicioso ocorre no navegador da vitima, caracterizando o ataque como do lado do cliente. Qual e a diferenca entre XSS persistente e nao persistente? a) Persistente e temporario, nao persistente e armazenado permanentemente. b) Persistente (armazenado) fica guardado no servidor, enquanto nao persistente (refletido) e executado apenas na requisicao atual. c) Persistente so afeta navegadores antigos. d) Nao persistente envolve sempre malware. Resposta explicativa: A alternativa correta e a b. Persistente se refere a scripts armazenados no servidor (por exemplo, em comentarios) e executados para todos que acessam a pagina. Nao persistente e refletido apenas na resposta a requisicao do usuario, sem armazenamento. Em ataques XSS, qual papel desempenha a manipulacao do DOM? a) Alterar o layout da pagina permanentemente no servidor. b) Permitir que scripts maliciosos modifiquem dinamicamente a estrutura da pagina no navegador da vitima. c) Bloquear cookies para todos os usuarios. d) Criptografar o conteudo do banco de dados. Resposta explicativa: A alternativa correta e a b. XSS baseado em DOM permite que scripts maliciosos manipulem elementos da pagina em tempo real,alterando conteudo, capturando dados ou executando acoes sem envolver o servidor. Qual tecnica de desenvolvimento ajuda a prevenir XSS de forma sistematica em toda a aplicacao? a) Usar frameworks que escapam automaticamente dados do usuario ao renderizar HTML. b) Desabilitar JavaScript no servidor. c) Bloquear enderecos IP suspeitos. d) Limitar o tamanho das senhas dos usuarios. Resposta explicativa: A alternativa correta e a a. Muitos frameworks modernos possuem mecanismos que escapam automaticamente entradas do usuario ao renderizar HTML, reduzindo significativamente o risco de XSS sem depender da sanitizacao manual. Por que XSS e considerado uma vulnerabilidade grave mesmo que nao afete diretamente o servidor? a) Porque pode comprometer dados do usuario e sessoes, permitindo ataques de phishing ou roubo de credenciais. b) Porque sempre derruba o servidor imediatamente. c) Porque altera permanentemente o sistema operacional do usuario. d) Porque nao pode ser detectado por nenhum antivirus. Resposta explicativa: A alternativa correta e a a. Mesmo sem afetar o servidor, XSS pode ser explorado para capturar dados sensiveis, sequestro de sessoes e redirecionamentos maliciosos, causando prejuizos significativos aos usuarios. Um desenvolvedor quer proteger inputs de usuarios em formularios e URLs. Qual abordagem combina melhor prevencao de XSS e funcionalidade? a) Escapar HTML e validar entradas usando expressoes regulares. b) Apenas bloquear todos os caracteres especiais. c) Remover todo o conteudo do usuario antes de armazenar. d) Permitir que o usuario insira qualquer codigo, confiando no navegador. Resposta explicativa: A alternativa correta e a a. Escapar HTML impede execucao de scripts, enquanto validacao de entradas filtra caracteres ou padroes perigosos, mantendo a funcionalidade legitima do formulario. Qual e a funcao do Content Security Policy (CSP) na prevencao de XSS? a) Criptografar todas as paginas do site. b) Restringir a execucao de scripts apenas a fontes confiaveis e bloqueando scripts injetados. c) Substituir cookies de sessao automaticamente. d) Reduzir o trafego de rede. Resposta explicativa: A alternativa correta e a b. CSP permite definir regras sobre quais fontes de script sao confiaveis, prevenindo execucao de codigo malicioso injetado via XSS, mesmo que o site possua vulnerabilidades de entrada. Por que XSS DOM-based e considerado mais dificil de detectar que XSS refletido ou armazenado? a) Porque ele so ocorre em navegadores desatualizados. b) Porque o ataque depende de manipulacao dinamica do DOM, sem interacao direta com o servidor. c) Porque nao pode ser visualizado no console do navegador. d) Porque afeta apenas a memoria do servidor. Resposta explicativa: A alternativa correta e a b. Como o ataque DOM-based ocorre inteiramente no lado do cliente, ele nao deixa rastros claros no servidor, tornando mais dificil a deteccao via logs ou analise de requisicoes HTTP. Qual e a melhor pratica para lidar com URLs fornecidas por usuarios em paginas web a fim de prevenir XSS? a) Nunca permitir URLs de usuarios. b) Validar o formato da URL e escapar caracteres especiais antes de inseri-la no HTML. c) Substituir todas as URLs por links genericos. d) Apenas usar HTTP, nao HTTPS. Resposta explicativa: A alternativa correta e a b. URLs fornecidas por usuarios devem ser validadas para garantir formato seguro e escapadas adequadas, evitando que caracteres perigosos sejam interpretados como scripts maliciosos no navegador. Se voce quiser, posso continuar a gerar mais perguntas detalhadas ate superar facilmente 1000 palavras, mantendo o mesmo nivel de explicacao e diversidade de cenarios sobre XSS. Quer que eu faca isso?