Threats and Attacks

O que é XSS (Cross-Site Scripting)?

Cross-Site Scripting, ou XSS, é uma falha de segurança em sites que permite que invasores adicionem scripts nocivos a páginas da web. Na maioria das vezes, esses scripts são escritos em JavaScript.

O que é XSS (Cross-Site Scripting)?

Cross-Site Scripting, ou XSS, é uma falha de segurança em sites que permite que invasores adicionem scripts prejudiciais a páginas da web. Na maioria das vezes, esses scripts são escritos em JavaScript.

Se alguém visita uma página afetada por XSS, seu navegador executa o script do invasor. Isso pode resultar em cookies roubados, sessões sequestradas ou ações realizadas sem a permissão do usuário.

XSS, assim como SQL Injection, é regularmente listado no OWASP Top 10 como uma das vulnerabilidades mais comuns em aplicações web.

plexicus-xss-attack-ilustration

Como o XSS Funciona?

O XSS frequentemente tem como alvo aplicações web que não verificam e limpam corretamente a entrada do usuário.

Por exemplo, se uma caixa de comentários permite HTML ou JavaScript bruto sem qualquer filtragem, um invasor poderia adicionar um código como este:

<script>alert('Hacked!');</script>

Quando as vítimas visualizam a página, o código malicioso é executado dentro de seus navegadores.

Por que o XSS é Importante na Cibersegurança

O XSS pode levar a uma violação maior:

  • Tomada de conta (roubo de cookies de sessão para se passar por usuários)
  • Roubo de dados (captura de entradas de formulários como senhas ou cartões de crédito)
  • Ataques de phishing (injeção de formulários de login falsos)
  • Entrega de malware (redirecionamento de usuários para sites maliciosos)

Tipos de XSS

  1. XSS Baseado em DOM
  2. O ataque ocorre inteiramente no navegador manipulando o Document Object Model (DOM) sem envolver o servidor.
  3. XSS Armazenado
  4. Script malicioso é armazenado permanentemente no servidor, como no banco de dados ou na página de perfil.
  5. XSS Refletido
  6. O script é refletido de um servidor web (por exemplo, em URL ou mensagem de erro), o script será executado quando a vítima clicar no link elaborado pelos atacantes.

Como Prevenir XSS

  • Sanitização de entrada e codificação de saída: sempre limpar os dados de entrada do usuário antes de processá-los, transformando a entrada do usuário em um formato seguro
  • Usar Content Security Policy (CSP): restringe quais scripts podem ser executados no navegador.
  • Evitar eval() e JavaScript inline: para reduzir os riscos de injeção.
  • Teste de segurança (DAST/IAST): executar testes de segurança para detectar vulnerabilidades precocemente

Exemplo em Caso Real - Verme Samy (MySpace, 2005)

O que aconteceu: Samy Kamkar publicou um perfil no MySpace que continha uma carga útil de XSS armazenado. Quando outros usuários visualizavam o perfil, a carga útil era executada em seus navegadores, (a) adicionava Samy como amigo, (b) adicionava a frase “Samy é meu herói” aos seus perfis, e (c) se replicava para as páginas de perfil desses usuários.

Impacto: O verme se auto-propagou para ~1 milhão de usuários em cerca de 20 horas, forçando o MySpace a ficar offline temporariamente.

Por que funcionou: O MySpace permitia HTML/atributos não escapados nos campos de perfil, permitindo a execução de scripts armazenados nos navegadores dos visitantes.

Lições / correção: Codificação de saída adequada, sanitização de entrada, remoção de HTML nos campos de perfil e aplicação rápida de patches. Samy posteriormente enfrentou consequências legais, e o MySpace implementou filtros.

Termos Relacionados

Pronto para validar o que importa?

Pronto para validar o que importa.

O Plexicus é Proof-Driven AppSec: achados validados, compreensão contextual e remediação revisada — ancorada em evidência, escopada com você.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)