Logotipo do blog

Buscando Por XSS (Cross-Site-Scripting)

Imagem de capa
Avatar do Notion
Alex Rocha

Ethical Hacker

Calendário12 de dezembro de 2024Relógio

8 Minutos de leitura


Entendendo e Caçando XSS no Bug Bounty

Se você é caçador de bug bounty, provavelmente já ouviu falar de XSS (“Cross-Site Scripting”). É uma vulnerabilidade clássica, mas ainda muito comum — e pode render boas recompensas se explorada no lugar certo. Então, bora entender como encontrar e reportar essa belezinha?

O que é XSS?

De forma simples, XSS acontece quando você consegue injetar código malicioso (geralmente JavaScript) em um site para que ele seja executado no navegador de outros usuários. Isso pode permitir:

  • Roubar cookies de sessão.
  • Realizar phishing direto na interface do site.
  • Manipular a página para exibir conteúdo falso.
  1. Refletido: O payload é enviado na requisição e aparece imediatamente na resposta.
  2. Armazenado: O payload é salvo no servidor e entregue a outros usuários.
  3. DOM-based: A vulnerabilidade está no lado cliente (JavaScript) e não interage com o servidor.

Aqui vão alguns lugares para prestar atenção:

  1. Formulários: Campos de login, cadastro, pesquisa ou comentários.
  2. URLs: Parâmetros GET, como ?id=1 ou ?search=teste.
  3. Headers HTTP: Campos como Referer ou User-Agent.
  4. Elementos dinâmicos: Qualquer coisa que renderize conteúdo baseado na entrada do usuário.

1. Teste com Tags Simples

Envie algo básico e veja se aparece na página:

<script>alert('XSS!')</script>

Se aparecer o alerta, bingo!

2. Bypassando Filtragem

Muitos sites têm filtros, então você precisa ser criativo:

  • Tente diferentes códigos:
  • Use HTML quebrado:
  • Explore eventos JavaScript:

3. DOM-based XSS

Abra as ferramentas de desenvolvedor no navegador e analise o código JavaScript. Procure funções como:

document.write(location.hash);

Teste enviando um payload diretamente:

http://site.com/#<script>alert('XSS')</script>

Ferramentas e Fontes de Payloads

Para facilitar sua busca por XSS, aqui estão algumas ferramentas e repositórios úteis:

Ferramentas

  • Burp Suite: Permite interceptar requisições e testar vulnerabilidades manualmente.
  • OWASP ZAP: Uma alternativa open-source ao Burp Suite, ideal para automação.
  • XSStrike: Ferramenta focada em testar XSS com payloads otimizados.
python3 xsstrike.py -u "http://example.com/search?q=test"
  • Dalfox: Excelente para automação e identificação de XSS refletido e armazenado.
dalfox url "http://example.com/search?q=test"

Fontes de Payloads

Se você encontrar XSS, seu relatório precisa ser claro e direto. Inclua:

  1. Resumo do Problema: Explique onde e como a vulnerabilidade ocorre.
  2. Passos para Reproduzir: Dê um passo a passo detalhado.
  3. Impacto: Mostre os riscos, como roubo de cookies ou phishing.
  4. Prova de Conceito (PoC): Inclua um payload funcional.
**Resumo:**
XSS refletido encontrado no parâmetro `search` da página `/busca`.

**Passos:**
1. Acesse `http://site.com/busca?search=<script>alert('XSS')</script>`
2. O alerta é exibido imediatamente.

**Impacto:**
Um atacante pode roubar cookies de sessão usando este XSS.

**PoC:**
`<script>document.write(document.cookie)</script>`

Dicas Extras

  • Automatize onde puder: Ferramentas como Burp Suite e OWASP ZAP ajudam muito.
  • Estude relatórios antigos: Plataformas como HackerOne e Bugcrowd têm bons exemplos.
  • Teste responsavelmente: Sempre siga o escopo do programa de bug bounty.

Compartilhe este Artigo

Veja mais

Imagem do post anterior

Post Anterior

Explorando SQL Injection

1 de dezembro de 2024

Próximo Post

Quebrando Senha De Um Arquivo zip

8 de dezembro de 2024

Imagem do próximo post

Se inscreva na nossa NewsLetter