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