Analysis of Vulnerabilities in Web
          Applications


  Como saber se suas aplicações web estão seguras.
2/2

                            Quem sou eu?
      Luiz Vieira
      ● Construtor 4Linux
      ● Analista e Consultor de Segurança
      ● 15 anos de experiência em TI
      ● Pen-Tester
      ● Articulista sobre Segurança de vários
      sites: VivaOLinux, SegurançaLinux,
      Imasters, HackProofing e etc
      ● Entusiasta do Software Livre
      ● Filósofo e Psicoterapeuta
Tópicos de hoje

●
    Princípios de Sistemas Web
●
    Ataques Web: Origem e Motivação
●
    Princípios da Segurança Web
●
    “all input is evil until proven otherwise”
●
    OWASP
●
    Ferramentas para Análise e Auditoria
●
    Prós e Contras das Ferramentas
●
    Vulnerabilidades Web
●
    Oportunidades
●
    WebGoat
●
    Demo
Princípios de Sistemas Web


 • Ótima escolha para mudança de plataforma das
 aplicações(?)

 • A Internet não foi criada visando segurança

 • Atualmente é considerada uma selva
Ataques Web: Origem e Motivação

●
    Roubo de informações
      – Benefício Próprio
      – Espionagem Industrial

●
    Defacement
      – Mass scaning/defacing

●
    (Ex-)Funcionários Insatisfeitos
       – Salários baixos ou demissões injustas

●
    Worms
Princípios da Segurança Web


●
    “all input is evil until proven otherwise”.

●
    Ter uma noção das falhas não é suficiente.

●
    White List vs Black List
“all input is evil until proven
otherwise”
●
    Entradas visíveis e de fácil manipulação
     – Campos texto
     – Variáveis de URL
●
    Entradas de manipulação intermediária
     – Campos hidden
     – Valores de cookies
     – Demais inputs (select, checkbox, radio etc)
●
    Entradas de difícil manipulação
     – Campos de cabeçalhos HTTP
OWASP
●
    Significado:
      – Open Web Application Security Project

●
    Missão:
     ●
         Promove o desenvolvimento seguro de software
     ●
         Orientado para o desenvolvimento de serviços baseados na
         web
     ●
         Focado mais em aspectos de desenvolvimento do que em web-
         design
     ●
         Um fórum aberto para discussão
     ●
         Um recurso gratuito e livre para qualquer equipe de
         desenvolvimento

●
    http://www.owasp.org
OWASP Top 10
●
    Top 10 Web Application Security
    Vulnerabilities
    ●
      Uma lista dos 10 aspectos de segurança mais
      críticos
    ●
      Atualizado periodicamente
    ●
      Crescente aceitação pela indústria
      ●
          Federal Trade Commission (US Gov)
      ●
          US Defense Information Systems Agency
      ●
          VISA (Cardholder Information Security Program)

●
    Está sendo adotado como um padrão de
    segurança para aplicações web
OWASP Guide

Guia para o Desenvolvimento Seguro de Web
Apps
●
    Oferece um conjunto de linhas gerais para o
    desenvolvimento de software seguro
     ●
         Introdução à segurança em geral
     ●
         Introdução à segurança aplicacional
     ●
         Discute áreas-chave de implementação
          -   Arquitetura
          -   Autenticação
          -   Gestão de Sessões
          -   Controle de Acesso e Autorização
          -   Registro de Eventos
          -   Validação de Dados

●
    Em contínuo desenvolvimento
Ferramentas para Análise e Auditoria
●
    Distribuições
       - Backtrack 4
       - OWASP Live CD

●
    Ferramentas
      - WebScarab
      - Paros Proxy
      - Firebug
      - Muitas outras...

●
    Plugins
       - Firecat (para Firefox)          http://migre.me/RyHN


●
    Wargames
      - Webgoat
      - Série HACME, da Foundstone
      - www.hackerskills.com
       http://projects.webappsec.org/Web-Application-Security-Scanner-List
Prós e Contras das Ferramentas
Prós                            Contras


 Recursos temporais limitados    Confiabilidade das
    Podem poupar muito           ferramentas
     tempo em vulnerabilidades    Não são “A” solução
     facilmente detectáveis         Não significa que não
     pelas ferramentas               existam falhas se estas não
 Boas soluções custo/eficácia       forem encontradas
 Recursos humanos limitados      Têm limitações
 Exige pouco conhecimento        Custo
 técnico                          Tempo de scanning
 Automatização de testes            Dependendo da aplicação,
 frequentes                           o próprio crawling pode
                                      demorar dias
Vulnerabilidades Web

●
    Caminho mais fácil de expor informação.

●
    Internet não é somente a Web

●
    Preocupação com vulnerabilidades
       – Dados valiosos?
       – E em outro host do mesmo servidor?
Vulnerabilidades Web
O código faz parte do perímetro de
            segurança




Não é possível usar proteção ao nível da camada de rede (firewall, SSL, IDS,
      hardening) para parar ou detectar ataques ao nível aplicacional
Isto é preocupante?
●
    Qual a probabilidade de sucesso de um ataque
     contra uma aplicação web?
    ➢
      Probabilidade elevada
    ➢
      Fácil de explorar sem conhecimento e ferramentas especiais
    ➢
      Quase indetectável
    ➢
      Existem milhares de programadores web, pouco preocupados
      com segurança

●
    Consequências?
    ➢
      Corrupção de dados ou destruição de BD
    ➢
      Acesso root a servidores web ou aplicacionais
    ➢
      Perda de autenticação e de controle de acesso de usuários
    ➢
      Defacement
    ➢
      Ataques secundários a partir da própria aplicação web
Isto é preocupante?
Principais Vulnerabilidades – OWASP
                Top 10 2010
●
  A1: Injeção
●
  A2: Cross Site Scripting (XSS)
●
  A3: Quebra de Autenticação e da Gestão de
  Sessões
●
  A4: Referência Insegura Direta a Objetos
●
  A5: Cross Site Request Forgery (CSRF)
●
  A6: Configuração de Segurança Incorreta
●
  A7: Falhas na Restrição de Acesso a URL
●
  A8: Redirecionamentos e Encaminhamentos não-
  validados
●
  A9: Armazenamento Criptográfico Inseguro
●
  A10: Proteção Insuficiente da Camada de
  Transporte
Cross-Site-Scripting (XSS)
●
    Alta ocorrência

●
    Baixo impacto (?)
     - Sequestro de sessão
     - Alteração de fluxo de dados
     - Defacement
     - Vetor para diversos outros ataques

●
    Execução arbitrária de códigos Javascript

●
    Má (ou falta de) filtragem dos dados que podem ser
    manipulados pelo usuário.

●
    Permite a criação de worms:
     – Vírus do Orkut (2007)
Exemplo de código vulnerável à
            XSS
Localização da Vulnerabilidade
Vulnerabilidade de XSS:




A variável "buscar" pode ser facilmente manipulada
 pelo usuário
A variável é repassada para o navegador sem
 qualquer tipo de filtro
Exploração da Vulnerabilidade
●
    Induzir a vítima a acessar o endereço:
      - http://localhost/AtaquesWeb/xss_exemplo1.php?
      busca=<script>alert('Vulneravel+a+XSS')</script>
Tentativa de Proteção
Métodos de Ataque
●
    Procurar esconder (camuflar) a tentativa de ataque:

    http://localhost/AtaquesWeb/xss_exemplo1.php?busca=
    %3c%73%63%72%69%70%74%3e%61%6c
    %65%72%74%28%27%56%75%6c%6e
    %65%72%61%76%65%6c%20%61%20%58%53
    %53%27%29%3c%2f%73%63%72%69%70%74%3e
●
    http://localhost/AtaquesWeb/xss_exemplo1.php?busca=<script>alert('Vulneravel a XSS')</script>



                                                  OU

●
    – http://localhost/AtaquesWeb/xss_exemplo1.php?
    busca=“+onmouseover="javascript:alert('XSS')
Soluções

●
    Criar uma whitelist ao invés de uma blacklist

●
    Utilizar funções de tratamento de caracteres que
    possuem significado no HTML
      – PHP: htmlspecialchars()


      $txtbuscar = htmlspecialchars($_GET['buscar']);
Cross Site Request Forgery
●
  Semelhante a XSS
●
  Qualquer sistema vulnerável a XSS está
  vulnerável a XSRF
●
  Nem toda aplicação vulnerável a XSRF está
  também vulnerável a XSS
●
  Permite alterar as informações enviadas ao
  navegados.
●
  Ataque client-side
●
  Não se baseia em executar código JS
●
  Se baseia em enviar requisições com as
  credenciais do usuário para o servidor.
Soluções

●
    Ineficientes:
      – Blacklist
      – addslashes() é ineficiente para XSRF
●
    Eficientes:
       – Evitar falhas de XSS
       – Controle próprio de tokens
Armazenamento Criptográfico Inseguro

    Definições:
●
    Funções Hash
●
    Funções Criptográficas
      – Criptografia Simétrica
      – Criptografia Assimétrica
●
    Hash + Criptografia

    Ataques:
●
    Senhas fracas
      – Brute-force
●
    Senhas fortes
      – Wordlist
      - Rainbowtables + hash sites
Armazenamento Criptográfico Inseguro
          RainbowCrack
●
    Brute-force Normal:
       – 350 milhões de senhas (texto puro) por segundo.
●
    Rainbow:
       – 62.223 milhões de senhas em texto puro por
       segundo

●
    http://www.md5crack.com/
Proteção de dados
●
    Armazenamento de Senha?
●
    Dados a serem recuperados?
●
    Hash puro?
●
    E criptografia? Proteja bem a chave.
Execução Remota de Arquivos

Características:
 ●
     Diversas proteções por configuração
 ●
     Alto Impacto
 ●
     Execução de Comandos no Servidor

Possibilidades:
 ●
     Apagar Arquivos
 ●
     Instalar Programas (keyloggers, sniffers)
 ●
     Acessar Outras Páginas
 ●
     Repositório de Arquivos (virus?)
 ●
     Utilizar o servidor como zumbi (DDoS ?)
 ●
     O que a imaginação permitir...
Execução Remota de Arquivos –
                Exemplos de PHP
 ●
     include()
 ●
     require()
 ●
     include_once()
 ●
     require_once()

 ●
     include → Em caso de erro continua
 ●
     require → Em caso de erro crash!
 ●
     _once() → Apenas uma vez

E daí?
 ●
   Se o arquivo a ser incluído contiver códigos PHP
   os mesmos serão executados.
Execução Remota de Arquivos –
   Exemplo: Formulário de Acesso
Execução Remota de Arquivos –
         Exemplo: Formulário de Acesso


●
    É possível notar a utilização das funções
    citadas.

●
    Sistema com alta produtividade
       - Ex: Adicionar um novo item de menu

●
    O parâmetro de uma das funções include()
    pode ser manipulada pelo usuário.
Execução Remota de Arquivos –
                      Princípio do Ataque

●
    http://localhost/AtaquesWeb/rfi/?pagina=home home.php

●
    http://localhost/AtaquesWeb/rfi/?pagina=historico historico.php

●
    http://localhost/AtaquesWeb/rfi/?pagina=contato contato.php

●
    ...
●
    …

●
    http://localhost/AtaquesWeb/rfi/?pagina=[arquivo_malefico]
Execução Remota de Arquivos –
         Arquivos Maléficos Famosos

 ●
     Explorer de Arquivos, bypass de
     segurança, etc

       - c99.txt
       - r57.txt
       - Safe0ver.txt
 ●
     Atenção: Cuidado com trapdoors.
Execução Remota de Arquivos –
                    Solução Eficiente
●
    Criar whitelist, permitindo somente caracteres válidos:
38/2

                    Oportunidades
       ● Necessidade de maior nível de segurança
       ● Previnir X Remediar
       ● Compliance com normas e metodologias
       ● Testes automatizados X Testes personalizados
       ● Funcionário X Consultor
39/2

                        WebGoat
       ● WebGoat é uma aplicação web J2EE
         deliberadamente vulnerável, mantida pelo
         OWASP e desenvolvida para ensinar lições de
         segurança em aplicações web.




       ● http://www.owasp.org/index.php/Category:OWASP
         _WebGoat_Project
40/2
41/2
       Injection Flaws – String SQL
                  Injection
42/2
          Injection Flaws – String SQL
                     Injection

       ● Solução do desafio:


                         Vieira' OR 'a'='a
43/2
       Cross-Site Scripting (XSS) -
          Stage 1: Stored XSS
44/2
          Cross-Site Scripting (XSS) -
             Stage 1: Stored XSS

       ● Solução do desafio:


                 <script>alert("XSS");</script>
                               OU
            <script>alert(document.cookie);</script>
45/2
       Cross-Site Scripting (XSS) - Cross
         Site Request Forgery (CSRF)
46/2
        Cross-Site Scripting (XSS) - Cross
          Site Request Forgery (CSRF)

       ● Solução do desafio:


                              <img
          src="http://127.0.0.1:8080/WebGoat/attack?
          Screen=9&menu=900&transferFunds=4000"
                   width="1" height="1" />
47/2
       AJAX Security - DOM-Based cross-
                site scripting
48/2
           AJAX Security - DOM-Based
              cross-site scripting
       ● Solução do desafio:
       ● <IMG SRC="images/logos/owasp.jpg"/>
       ● <img src=x onerror=;;alert('XSS') />
       ● <IFRAME SRC="javascript:alert('XSS');"></IFRAME>
       ● Please enter your password:<BR><input type = "password"
         name="pass"/><button onClick="javascript:alert('I have your
         password: ' +
         pass.value);">Submit</button><BR><BR><BR><BR><BR><BR><
         BR><BR> <BR><BR><BR><BR><BR><BR><BR><BR>
49/2
       Parameter Tampering -
          Exploit Hidden Fields
50/2
       Parameter Tampering -
          Exploit Hidden Fields




                Vídeo
51/2
         Session Management Flaws -
       Spoofing an Authentication Cookie
52/2
         Session Management Flaws -
       Spoofing an Authentication Cookie




                    Vídeo
53/2
54/2

         Obrigado!!!!



             Luiz Vieira
           luizwt@gmail.com
       luiz.vieira@4linux.com.br
          www.4linux.com.br
       hackproofing.blogspot.com
        Tel: 55-11-2125-4747

Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010

  • 1.
    Analysis of Vulnerabilitiesin Web Applications Como saber se suas aplicações web estão seguras.
  • 2.
    2/2 Quem sou eu? Luiz Vieira ● Construtor 4Linux ● Analista e Consultor de Segurança ● 15 anos de experiência em TI ● Pen-Tester ● Articulista sobre Segurança de vários sites: VivaOLinux, SegurançaLinux, Imasters, HackProofing e etc ● Entusiasta do Software Livre ● Filósofo e Psicoterapeuta
  • 3.
    Tópicos de hoje ● Princípios de Sistemas Web ● Ataques Web: Origem e Motivação ● Princípios da Segurança Web ● “all input is evil until proven otherwise” ● OWASP ● Ferramentas para Análise e Auditoria ● Prós e Contras das Ferramentas ● Vulnerabilidades Web ● Oportunidades ● WebGoat ● Demo
  • 4.
    Princípios de SistemasWeb • Ótima escolha para mudança de plataforma das aplicações(?) • A Internet não foi criada visando segurança • Atualmente é considerada uma selva
  • 5.
    Ataques Web: Origeme Motivação ● Roubo de informações – Benefício Próprio – Espionagem Industrial ● Defacement – Mass scaning/defacing ● (Ex-)Funcionários Insatisfeitos – Salários baixos ou demissões injustas ● Worms
  • 6.
    Princípios da SegurançaWeb ● “all input is evil until proven otherwise”. ● Ter uma noção das falhas não é suficiente. ● White List vs Black List
  • 7.
    “all input isevil until proven otherwise” ● Entradas visíveis e de fácil manipulação – Campos texto – Variáveis de URL ● Entradas de manipulação intermediária – Campos hidden – Valores de cookies – Demais inputs (select, checkbox, radio etc) ● Entradas de difícil manipulação – Campos de cabeçalhos HTTP
  • 8.
    OWASP ● Significado: – Open Web Application Security Project ● Missão: ● Promove o desenvolvimento seguro de software ● Orientado para o desenvolvimento de serviços baseados na web ● Focado mais em aspectos de desenvolvimento do que em web- design ● Um fórum aberto para discussão ● Um recurso gratuito e livre para qualquer equipe de desenvolvimento ● http://www.owasp.org
  • 9.
    OWASP Top 10 ● Top 10 Web Application Security Vulnerabilities ● Uma lista dos 10 aspectos de segurança mais críticos ● Atualizado periodicamente ● Crescente aceitação pela indústria ● Federal Trade Commission (US Gov) ● US Defense Information Systems Agency ● VISA (Cardholder Information Security Program) ● Está sendo adotado como um padrão de segurança para aplicações web
  • 10.
    OWASP Guide Guia parao Desenvolvimento Seguro de Web Apps ● Oferece um conjunto de linhas gerais para o desenvolvimento de software seguro ● Introdução à segurança em geral ● Introdução à segurança aplicacional ● Discute áreas-chave de implementação - Arquitetura - Autenticação - Gestão de Sessões - Controle de Acesso e Autorização - Registro de Eventos - Validação de Dados ● Em contínuo desenvolvimento
  • 11.
    Ferramentas para Análisee Auditoria ● Distribuições - Backtrack 4 - OWASP Live CD ● Ferramentas - WebScarab - Paros Proxy - Firebug - Muitas outras... ● Plugins - Firecat (para Firefox) http://migre.me/RyHN ● Wargames - Webgoat - Série HACME, da Foundstone - www.hackerskills.com http://projects.webappsec.org/Web-Application-Security-Scanner-List
  • 12.
    Prós e Contrasdas Ferramentas Prós Contras  Recursos temporais limitados  Confiabilidade das  Podem poupar muito ferramentas tempo em vulnerabilidades  Não são “A” solução facilmente detectáveis  Não significa que não pelas ferramentas existam falhas se estas não  Boas soluções custo/eficácia forem encontradas  Recursos humanos limitados  Têm limitações  Exige pouco conhecimento  Custo técnico  Tempo de scanning  Automatização de testes  Dependendo da aplicação, frequentes o próprio crawling pode demorar dias
  • 13.
    Vulnerabilidades Web ● Caminho mais fácil de expor informação. ● Internet não é somente a Web ● Preocupação com vulnerabilidades – Dados valiosos? – E em outro host do mesmo servidor?
  • 14.
  • 15.
    O código fazparte do perímetro de segurança Não é possível usar proteção ao nível da camada de rede (firewall, SSL, IDS, hardening) para parar ou detectar ataques ao nível aplicacional
  • 16.
    Isto é preocupante? ● Qual a probabilidade de sucesso de um ataque contra uma aplicação web? ➢ Probabilidade elevada ➢ Fácil de explorar sem conhecimento e ferramentas especiais ➢ Quase indetectável ➢ Existem milhares de programadores web, pouco preocupados com segurança ● Consequências? ➢ Corrupção de dados ou destruição de BD ➢ Acesso root a servidores web ou aplicacionais ➢ Perda de autenticação e de controle de acesso de usuários ➢ Defacement ➢ Ataques secundários a partir da própria aplicação web
  • 17.
  • 18.
    Principais Vulnerabilidades –OWASP Top 10 2010 ● A1: Injeção ● A2: Cross Site Scripting (XSS) ● A3: Quebra de Autenticação e da Gestão de Sessões ● A4: Referência Insegura Direta a Objetos ● A5: Cross Site Request Forgery (CSRF) ● A6: Configuração de Segurança Incorreta ● A7: Falhas na Restrição de Acesso a URL ● A8: Redirecionamentos e Encaminhamentos não- validados ● A9: Armazenamento Criptográfico Inseguro ● A10: Proteção Insuficiente da Camada de Transporte
  • 19.
    Cross-Site-Scripting (XSS) ● Alta ocorrência ● Baixo impacto (?) - Sequestro de sessão - Alteração de fluxo de dados - Defacement - Vetor para diversos outros ataques ● Execução arbitrária de códigos Javascript ● Má (ou falta de) filtragem dos dados que podem ser manipulados pelo usuário. ● Permite a criação de worms: – Vírus do Orkut (2007)
  • 20.
    Exemplo de códigovulnerável à XSS
  • 21.
    Localização da Vulnerabilidade Vulnerabilidadede XSS: A variável "buscar" pode ser facilmente manipulada pelo usuário A variável é repassada para o navegador sem qualquer tipo de filtro
  • 22.
    Exploração da Vulnerabilidade ● Induzir a vítima a acessar o endereço: - http://localhost/AtaquesWeb/xss_exemplo1.php? busca=<script>alert('Vulneravel+a+XSS')</script>
  • 23.
  • 24.
    Métodos de Ataque ● Procurar esconder (camuflar) a tentativa de ataque: http://localhost/AtaquesWeb/xss_exemplo1.php?busca= %3c%73%63%72%69%70%74%3e%61%6c %65%72%74%28%27%56%75%6c%6e %65%72%61%76%65%6c%20%61%20%58%53 %53%27%29%3c%2f%73%63%72%69%70%74%3e ● http://localhost/AtaquesWeb/xss_exemplo1.php?busca=<script>alert('Vulneravel a XSS')</script> OU ● – http://localhost/AtaquesWeb/xss_exemplo1.php? busca=“+onmouseover="javascript:alert('XSS')
  • 25.
    Soluções ● Criar uma whitelist ao invés de uma blacklist ● Utilizar funções de tratamento de caracteres que possuem significado no HTML – PHP: htmlspecialchars() $txtbuscar = htmlspecialchars($_GET['buscar']);
  • 26.
    Cross Site RequestForgery ● Semelhante a XSS ● Qualquer sistema vulnerável a XSS está vulnerável a XSRF ● Nem toda aplicação vulnerável a XSRF está também vulnerável a XSS ● Permite alterar as informações enviadas ao navegados. ● Ataque client-side ● Não se baseia em executar código JS ● Se baseia em enviar requisições com as credenciais do usuário para o servidor.
  • 27.
    Soluções ● Ineficientes: – Blacklist – addslashes() é ineficiente para XSRF ● Eficientes: – Evitar falhas de XSS – Controle próprio de tokens
  • 28.
    Armazenamento Criptográfico Inseguro Definições: ● Funções Hash ● Funções Criptográficas – Criptografia Simétrica – Criptografia Assimétrica ● Hash + Criptografia Ataques: ● Senhas fracas – Brute-force ● Senhas fortes – Wordlist - Rainbowtables + hash sites
  • 29.
    Armazenamento Criptográfico Inseguro RainbowCrack ● Brute-force Normal: – 350 milhões de senhas (texto puro) por segundo. ● Rainbow: – 62.223 milhões de senhas em texto puro por segundo ● http://www.md5crack.com/
  • 30.
    Proteção de dados ● Armazenamento de Senha? ● Dados a serem recuperados? ● Hash puro? ● E criptografia? Proteja bem a chave.
  • 31.
    Execução Remota deArquivos Características: ● Diversas proteções por configuração ● Alto Impacto ● Execução de Comandos no Servidor Possibilidades: ● Apagar Arquivos ● Instalar Programas (keyloggers, sniffers) ● Acessar Outras Páginas ● Repositório de Arquivos (virus?) ● Utilizar o servidor como zumbi (DDoS ?) ● O que a imaginação permitir...
  • 32.
    Execução Remota deArquivos – Exemplos de PHP ● include() ● require() ● include_once() ● require_once() ● include → Em caso de erro continua ● require → Em caso de erro crash! ● _once() → Apenas uma vez E daí? ● Se o arquivo a ser incluído contiver códigos PHP os mesmos serão executados.
  • 33.
    Execução Remota deArquivos – Exemplo: Formulário de Acesso
  • 34.
    Execução Remota deArquivos – Exemplo: Formulário de Acesso ● É possível notar a utilização das funções citadas. ● Sistema com alta produtividade - Ex: Adicionar um novo item de menu ● O parâmetro de uma das funções include() pode ser manipulada pelo usuário.
  • 35.
    Execução Remota deArquivos – Princípio do Ataque ● http://localhost/AtaquesWeb/rfi/?pagina=home home.php ● http://localhost/AtaquesWeb/rfi/?pagina=historico historico.php ● http://localhost/AtaquesWeb/rfi/?pagina=contato contato.php ● ... ● … ● http://localhost/AtaquesWeb/rfi/?pagina=[arquivo_malefico]
  • 36.
    Execução Remota deArquivos – Arquivos Maléficos Famosos ● Explorer de Arquivos, bypass de segurança, etc - c99.txt - r57.txt - Safe0ver.txt ● Atenção: Cuidado com trapdoors.
  • 37.
    Execução Remota deArquivos – Solução Eficiente ● Criar whitelist, permitindo somente caracteres válidos:
  • 38.
    38/2 Oportunidades ● Necessidade de maior nível de segurança ● Previnir X Remediar ● Compliance com normas e metodologias ● Testes automatizados X Testes personalizados ● Funcionário X Consultor
  • 39.
    39/2 WebGoat ● WebGoat é uma aplicação web J2EE deliberadamente vulnerável, mantida pelo OWASP e desenvolvida para ensinar lições de segurança em aplicações web. ● http://www.owasp.org/index.php/Category:OWASP _WebGoat_Project
  • 40.
  • 41.
    41/2 Injection Flaws – String SQL Injection
  • 42.
    42/2 Injection Flaws – String SQL Injection ● Solução do desafio: Vieira' OR 'a'='a
  • 43.
    43/2 Cross-Site Scripting (XSS) - Stage 1: Stored XSS
  • 44.
    44/2 Cross-Site Scripting (XSS) - Stage 1: Stored XSS ● Solução do desafio: <script>alert("XSS");</script> OU <script>alert(document.cookie);</script>
  • 45.
    45/2 Cross-Site Scripting (XSS) - Cross Site Request Forgery (CSRF)
  • 46.
    46/2 Cross-Site Scripting (XSS) - Cross Site Request Forgery (CSRF) ● Solução do desafio: <img src="http://127.0.0.1:8080/WebGoat/attack? Screen=9&menu=900&transferFunds=4000" width="1" height="1" />
  • 47.
    47/2 AJAX Security - DOM-Based cross- site scripting
  • 48.
    48/2 AJAX Security - DOM-Based cross-site scripting ● Solução do desafio: ● <IMG SRC="images/logos/owasp.jpg"/> ● <img src=x onerror=;;alert('XSS') /> ● <IFRAME SRC="javascript:alert('XSS');"></IFRAME> ● Please enter your password:<BR><input type = "password" name="pass"/><button onClick="javascript:alert('I have your password: ' + pass.value);">Submit</button><BR><BR><BR><BR><BR><BR>< BR><BR> <BR><BR><BR><BR><BR><BR><BR><BR>
  • 49.
    49/2 Parameter Tampering - Exploit Hidden Fields
  • 50.
    50/2 Parameter Tampering - Exploit Hidden Fields Vídeo
  • 51.
    51/2 Session Management Flaws - Spoofing an Authentication Cookie
  • 52.
    52/2 Session Management Flaws - Spoofing an Authentication Cookie Vídeo
  • 53.
  • 54.
    54/2 Obrigado!!!! Luiz Vieira luizwt@gmail.com luiz.vieira@4linux.com.br www.4linux.com.br hackproofing.blogspot.com Tel: 55-11-2125-4747