A aplicação WebGoat foi projetada para ilustrar falhas de
segurança típicas em aplicações web. Seu objetivo é ensinar uma
abordagem estruturada para detectar e explorar essas vulnerabilidades no
contexto de uma Avaliação de Segurança de Aplicação.
Uma metodologia completa para testes para "Avaliação de Segurança de Aplicação" está sendo documentado em OWASP Testing Project - OWASP e isto irá proporcionar um superconjunto das questões demonstradas no WebGoat. Pode incluir uma revisão de design e do código, por exemplo. As lições do WebGoat visam dar uma formação prática e exemplos relacionados à fase de "Revisão de Implementação da OWASP" (Web Application Security Testing Methodology).
Para a pessoa que está acessando o Webgoat é dado o mesmo nível de informação e direitos de um cliente típico de uma aplicação on-line.
Uma metodologia completa para testes para "Avaliação de Segurança de Aplicação" está sendo documentado em OWASP Testing Project - OWASP e isto irá proporcionar um superconjunto das questões demonstradas no WebGoat. Pode incluir uma revisão de design e do código, por exemplo. As lições do WebGoat visam dar uma formação prática e exemplos relacionados à fase de "Revisão de Implementação da OWASP" (Web Application Security Testing Methodology).
Para a pessoa que está acessando o Webgoat é dado o mesmo nível de informação e direitos de um cliente típico de uma aplicação on-line.
- A aplicação é baseado na web
- As simulações de ataque são remotas
Todas as técnicas descritas podem ser realizadas a partir de qualquer local de onde esteja conectado.
O teste é do tipo caixa-preta (black box).
O código fonte não é fornecido, mas pode ser visualizado e baixado.
Permissões e informações operacionais são fornecidas.
Naturalmente, o aspecto pedagógico do WebGoat implica que certas informações que são reveladas, não estariam normalmente disponíveis. Isto torna possível orientar o usuário através de um processo de avaliação.
O objetivo do Webgoat
Tendo seguido as técnicas demonstradas nas lições do WebGoat, o usuário deve ser capaz de:- Compreender os processos de interações de alto nível de uma aplicação web
- Determine as informações a partir dos dados visíveis no cliente que podem ser úteis em um ataque
- Identificar e compreender os dados e interações com o usuário, que podem expor o aplicativo a ataques
- Executar testes contra essas interações para expor as falhas no seu funcionamento
- Executar ataques contra a aplicação para demonstrar e explorar vulnerabilidades.
Características do WebGoat
O WebGoat é escrito em linguagem JAVA e portanto Multi-Plataforma. Depois de instalado o usuário pode completar as lições e acompanhar o seu progresso pelo ScoreCard. Existem atualmente mais de 30 de lições. O conjunto de lições previstos no WebGoatv5 incluem:- Noções básicas sobre HTTP
- HTTP Splitting e Cache Poisining
- Como Explorar Problemas de Segurança
- Como descobrir pistas no HTML
- Como explora campos ocultos
- Como explorar e-mail não verificados
- Como ignorar a validação JavaScript do lado do cliente
- Como Forçar Recursos do Browser
- Como ignorar o esquema de Controle de acesso baseado em permissões
- Como ignorar o esquema de Controle de acesso baseado em paths
- Usando uma Martiz de Controle de Acesso
- Como explorar a página Esqueci minha Senha
- Como fazer Spoof de um cookie de autenticação
- Como sequestrar sessões
- Autenticação Básica
- Como executar Stored Cross Site Scripting (XSS)
- Como executar Reflected Cross Site Scripting (XSS)
- Como executar ataques Cross Site Trace (XSS)
- Buffer Overflow (TBD)
- HTTPOnly Test
- Como executar injeção de comandos
- Como executar injeção de parâmetros
- Como executar Blind SQL Injection
- Como executar SQL Injection Numérico
- Como executar String SQL Injection
- Como executar Spoofing Log
- Como executar ataques de XPATH Injection
- Como ignorar um esquema de Fail Open Authentication
- Como executar Basic Encoding
- Negação de Serviços com múltiplos logins
- Como criar uma solicitação SOAP
- Como executar WSDL Scanning
- Como Realizar Web Service SAX Injection
- Como executar Web Service SQL Injection
- Como executar um ataque de DOM Injection
- Como realizar ataques de XML Injection
- Como executar um ataque de JSON Injection
- Como executar ataques de Silent Transactions
Para cada lição dentro do WebGoat, uma visão e objetivos são fornecidos. Estes são acessadas através do botão Show Lesson Plan.
Estas lições descrevem a operação de cada aspecto da aplicação alvo, as áreas de interesse relacionadas à avaliação de segurança e o tipo de ataque que deve ser feito.
Versões futuras do WebGoat incluirão mais lições e funcionalidades.
Instalação do WebGoat
Instalação no Linux:- Faça o download e instale o Java JDK 1.6.
- Faça o Download das 7 partes do WebGoat 5.1.
- Mude JAVA_HOME para apontar para o diretório onde está o JDK 1.6.
- chmod +x webgoat.sh (dê permissão de execução para o script webgoat.sh).
- Para iniciar o WebGoat use o comando: sudo sh webgoat.sh start
- Abra seu browser e acesse o seguinte endereço: http://localhost/WebGoat/attack
- Logue como usuário "guest" e senha "guest"
- Para finalizar o WebGoat use o comando: sudo sh webgoat.sh stop
A interface é bastante intuitiva. É bastante fácil aprender a usar o WebGoat (principalmente por que existe a versão traduzida).
Obs: Quando você roda o WebGoat no seu PC ele fica vulnerável a ataques (ele irá ficar rodando um servidor Web, o TomCat para ser mais exato). O desenvolvedor aconselha que quando você estiver utilizando o WebGoat você desconecte sua máquina da Internet.
Iniciando
WebGoat, o Tomcat deve ser executado com o
script de inicialização no diretório bin do Tomcat. Para operá-lo, o
WebGoat deve ter permissão para funcionar como um servidor e permitir
que sejam executados alguns comportamentos incomuns no servidor web.
Quando WebGoat está sendo executado, ele fará com que sua máquina esteja
vulnerável à ataques. Se a máquina estiver ligada à Internet deve ser
desconectada.
Executar um firewall pode evitar que WebGoat funcione corretamente. Desative qualquer firewall durante a execução do WebGoat.
A partir de um navegador, o servidor Tomcat pode ser acessado no localhost pela porta 80, por exemplo, http://127.0.0.1.
WebGoat encontra-se no diretório WebGoat, e as lições podem ser encontradas em: http://127.0.0.1/WebGoat/attack
A aplicação WebGoat reforça o papel da segurança como base. Uma janela
de login é exibida logo no início. Entre com o usuário "guest" e senha
"guest".
Depois de realizar o login com sucesso, o servidor Tomcat irá mostrar a página de boas-vindas do WebGoat.
Em cada fase de uma avaliação de segurança, é importante compreender o funcionamento do alvo. Isso normalmente envolve:
- Examinando o conteúdo do lado do cliente, como HTML e script
- Analisar as comunicações entre o cliente e o servidor
- Rever os cookies e outros dados locais
O browser normalmente torna mais simples visualizar o código HTML. WebGoat expande essa facilidade, com as opções Show Params, Show HTML, Show Cookies e Show Java.
Em circunstâncias normais, o navegador oferece um recurso para
visualizar código HTML. No Firefox essa opção encontra-se em "Page
Source" no menu View. O recurso Mostrar HTML do WebGoat mostra
somente o código HTML que é relevante para a lição sendo estudada. Esta
visualização não inclui o código HTML das barras lateral e superior.
Parâmetros e cookies mostrados em vermelho.
O Show Java abrirá uma janela contendo o código fonte.
Ref: Segurança Linux
0 comentários:
Postar um comentário