Oficina de XSS

De Garoa Hacker Clube
Revisão de 22h35min de 27 de janeiro de 2015 por Draks (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar
ParanioaHacker.png


Objetivo

Aprender a usar técnicas básicas de Cross-site scripting de maneira manual, aplicar alguns métodos de evasão e criar um cookie stealer.

Quando, onde, como, quem

Quando
3a feira, 27/jan/2015, 19:30
Onde
Sede do Garoa Hacker Clube
Inscrições
Não é preciso se inscrever, basta aparecer. Esta é mais uma atividade aberta e gratuita do Garoa Hacker Clube.
Pré-requisitos
Noções básicas de HTML, Javascript e PHP.
Professor
Michel 'draks' Barbosa

Descrição

Ataques de Cross-site scripting (XSS) são ataques de injeção de código, tradicionalmente executados através da inserção de scripts maliciosos em sites legítimos e conhecidos. O ataque efetivamente acontece quando o atacante usa uma aplicação web para enviar códigos maliciosos, geralmente na forma de um script, para diferentes usuários do website.

Como o browser do usuário final não tem conhecimento de qual script da página é malicioso ele executará todo o código, sendo capaz de acessar os cookies, tokens de sessão e outras informações sensíveis relacionadas ao site atacado e armazenadas no browser, sendo possível inclusive reescrever o conteúdo HTML da página atacada.

https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)

Nesta oficina vamos entender como testar um site para XSS com o auxílio do Gruyere (http://google-gruyere.appspot.com/), uma aplicação intencionalmente vulnerável disponível para testarmos vários tipos de ataque, aprendendo também a necessidade de evasão em alguns cenários. Também iremos criar uma aplicação para coletar cookies roubados (cookie graber ou cookie stealer) e testar a efetividade dos ataques realizados para roubo da informação de sessão.

O que foi feito ?

  1. O que é XSS ? Owasp - XSS
    1. Diferença entre XSS Reflected e XSS Stored
  2. Acessar App Web de testes: Gruyere
    1. Ler sobre o que se trata a plataforma, criar conta, mexer no site para entender a estrutura, fazer upload, criar snippet
  3. Conhecer a sintaxe do teste mais básico de XSS, alert('xss'), ver exemplos no site da Owasp
  4. Fazer desafio 1 do Gruyere, XSS File Upload, fazer o teste básico e outro mostrando os conteúdos do cookie
  5. Incluir o cookie exibido manualmente no Firefox usando o Cookie Manager
  6. Fazer o desafio 2, XSS Reflected
  7. Fazer o desafio 3, XSS Stored no snippet
  8. Criar cookie grabber
    1. Achar o código
    2. Achar um hosting php free
    3. Fazer o upload da pagina, testar localmente manipulando a variável na URL
  9. Refazer os desafios 2 e 3 explorando o XSS e jogando a informação do cookie no cookie grabber
    1. Para conseguir isso, pode ser necessário usar algumas técnicas de evasão
    2. HEX Encoding: http://ha.ckers.org/xsscalc.html
    3. String from charcode: https://www.martineve.com/2007/05/23/string-fromcharcode-encoder/