SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Clavis Segurança da Informação
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Clavis Segurança da Informação
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Clavis Segurança da Informação
 
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Clavis Segurança da Informação
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
Synergia - Engenharia de Software e Sistemas
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
Alex Camargo
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
Cristiano Caetano
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
Fabiano Pereira
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
Magno Logan
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
Kleitor Franklint Correa Araujo
 
OWASP_BSB_20120827_mod_security_KLAUBERTHERR
OWASP_BSB_20120827_mod_security_KLAUBERTHERROWASP_BSB_20120827_mod_security_KLAUBERTHERR
OWASP_BSB_20120827_mod_security_KLAUBERTHERR
OWASP Brasília
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
Kleitor Franklint Correa Araujo
 
Webinar # 21 – Análise Forense de Redes
 Webinar # 21 – Análise Forense de Redes Webinar # 21 – Análise Forense de Redes
Webinar # 21 – Análise Forense de Redes
Clavis Segurança da Informação
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
Pablo Ribeiro
 
Segurança em desenvolvimento de software
Segurança em desenvolvimento de softwareSegurança em desenvolvimento de software
Segurança em desenvolvimento de software
Jeronimo Zucco
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Thiago Dieb
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
Carlos Serrao
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications Firewalls
Jeronimo Zucco
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
Conviso Application Security
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
Kleitor Franklint Correa Araujo
 

Mais procurados (20)

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
 
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o WmapDescobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
Descobrindo (e Explorando) Vulnerabilidades em Aplicações Web com o Wmap
 
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
Impacto sobre o Negócio da Exploração de Vulnerabilidades de Injeção em Aplic...
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
 
OWASP_BSB_20120827_mod_security_KLAUBERTHERR
OWASP_BSB_20120827_mod_security_KLAUBERTHERROWASP_BSB_20120827_mod_security_KLAUBERTHERR
OWASP_BSB_20120827_mod_security_KLAUBERTHERR
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
 
Webinar # 21 – Análise Forense de Redes
 Webinar # 21 – Análise Forense de Redes Webinar # 21 – Análise Forense de Redes
Webinar # 21 – Análise Forense de Redes
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Segurança em desenvolvimento de software
Segurança em desenvolvimento de softwareSegurança em desenvolvimento de software
Segurança em desenvolvimento de software
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
Introducão a Web Applications Firewalls
Introducão a Web Applications FirewallsIntroducão a Web Applications Firewalls
Introducão a Web Applications Firewalls
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 

Destaque

Snort
SnortSnort
Redes De Computadores - Alberane - 3
Redes De Computadores - Alberane - 3Redes De Computadores - Alberane - 3
Redes De Computadores - Alberane - 3
Alberane Lúcio Thiago da Cunha
 
Pescaria
PescariaPescaria
Pescaria
Hudson Augusto
 
Modos De OperaçãO Snort Campusparty2010
Modos De OperaçãO Snort Campusparty2010Modos De OperaçãO Snort Campusparty2010
Modos De OperaçãO Snort Campusparty2010
clebeer brandao
 
Iptables
IptablesIptables
Iptables
Hudson Augusto
 
Aula 23 novembro Linux Firewall
Aula 23 novembro Linux FirewallAula 23 novembro Linux Firewall
Aula 23 novembro Linux Firewall
Beatriz Buchmann
 
Acessibilidade
AcessibilidadeAcessibilidade
Acessibilidade
Hudson Augusto
 
Inst Config Debian
Inst Config DebianInst Config Debian
Inst Config Debian
Hudson Augusto
 
Cacti
CactiCacti
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linux
guest4e5ab
 
Snort "O sniffer"
Snort "O sniffer"Snort "O sniffer"
Snort "O sniffer"
Leonardo Damasceno
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
Impacta Eventos
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Oliver
marcosserva
 
Segurança no Linux
Segurança no LinuxSegurança no Linux
Segurança no Linux
Juliana Félix
 
Firewall
FirewallFirewall
Firewall
Fernando Chuva
 
Firewall
FirewallFirewall
Firewall
danielrcom
 
Firewall
FirewallFirewall
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
Carlos Melo
 
Segurança com Software Livre
Segurança com Software LivreSegurança com Software Livre
Segurança com Software Livre
Linux User Goup Alagoas
 

Destaque (20)

Snort
SnortSnort
Snort
 
Redes De Computadores - Alberane - 3
Redes De Computadores - Alberane - 3Redes De Computadores - Alberane - 3
Redes De Computadores - Alberane - 3
 
Pescaria
PescariaPescaria
Pescaria
 
Modos De OperaçãO Snort Campusparty2010
Modos De OperaçãO Snort Campusparty2010Modos De OperaçãO Snort Campusparty2010
Modos De OperaçãO Snort Campusparty2010
 
Iptables
IptablesIptables
Iptables
 
Aula 23 novembro Linux Firewall
Aula 23 novembro Linux FirewallAula 23 novembro Linux Firewall
Aula 23 novembro Linux Firewall
 
Acessibilidade
AcessibilidadeAcessibilidade
Acessibilidade
 
Inst Config Debian
Inst Config DebianInst Config Debian
Inst Config Debian
 
Cacti
CactiCacti
Cacti
 
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linux
 
Snort "O sniffer"
Snort "O sniffer"Snort "O sniffer"
Snort "O sniffer"
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Oliver
 
Segurança no Linux
Segurança no LinuxSegurança no Linux
Segurança no Linux
 
Firewall
FirewallFirewall
Firewall
 
Firewall
FirewallFirewall
Firewall
 
Firewall
FirewallFirewall
Firewall
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Segurança com Software Livre
Segurança com Software LivreSegurança com Software Livre
Segurança com Software Livre
 

Semelhante a Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010

OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbook
Giovane Liberato
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Clavis Segurança da Informação
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
Vinicius Marangoni
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Alexandro Silva
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
SegInfo
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
Juliano Padilha
 
Java security
Java securityJava security
Java security
armeniocardoso
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
Alex Hübner
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
EMERSON EDUARDO RODRIGUES
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
E-Commerce Brasil
 
Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao
gleydsonslim
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
Bruno Alexandre
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
Alan Carlos
 
API - Security and speed at layer 7 integrated in zabbix.
API - Security and speed at layer 7 integrated in zabbix.API - Security and speed at layer 7 integrated in zabbix.
API - Security and speed at layer 7 integrated in zabbix.
Thomás Capiotti
 
2011 01-18.campus party 2011
2011 01-18.campus party 20112011 01-18.campus party 2011
2011 01-18.campus party 2011
Campus Party Brasil
 
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
Rafael Brinhosa
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Luis Asensio
 
Top 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webTop 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_web
Luis Asensio
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
LeandroTrindade19
 

Semelhante a Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010 (20)

OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbook
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Java security
Java securityJava security
Java security
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
 
Os 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerceOs 10 erros mais comuns de segurança na operação de um ecommerce
Os 10 erros mais comuns de segurança na operação de um ecommerce
 
Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
API - Security and speed at layer 7 integrated in zabbix.
API - Security and speed at layer 7 integrated in zabbix.API - Security and speed at layer 7 integrated in zabbix.
API - Security and speed at layer 7 integrated in zabbix.
 
2011 01-18.campus party 2011
2011 01-18.campus party 20112011 01-18.campus party 2011
2011 01-18.campus party 2011
 
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
FLISOL 2011 Novo Hamburgo - Detectando falhas de segurança na Web com Softwar...
 
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seuTop 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
 
Top 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_webTop 5 vulnerabilidades_em_aplicacoes_web
Top 5 vulnerabilidades_em_aplicacoes_web
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
 

Mais de Luiz Vieira .´. CISSP, OSCE, GXPN, CEH

Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Segurança Física: Lockpicking
Segurança Física: LockpickingSegurança Física: Lockpicking
Segurança Física: Lockpicking
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Cool 3 assembly para linux
Cool 3   assembly para linuxCool 3   assembly para linux
Cool 3 assembly para linux
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Android forensics the hard work
Android forensics   the hard workAndroid forensics   the hard work
Android forensics the hard work
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Stack based overflow
Stack based overflowStack based overflow
Engenharia social
Engenharia socialEngenharia social
Segurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwaresSegurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwares
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
How stuff works
How stuff worksHow stuff works
Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de VulnerabilidadesMetasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 
Trusted Computing e Software Livre FISL 11 - 2010
Trusted Computing  e Software Livre FISL 11 - 2010Trusted Computing  e Software Livre FISL 11 - 2010
Trusted Computing e Software Livre FISL 11 - 2010
Luiz Vieira .´. CISSP, OSCE, GXPN, CEH
 

Mais de Luiz Vieira .´. CISSP, OSCE, GXPN, CEH (14)

Webgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizadoWebgoat como ferramenta de aprendizado
Webgoat como ferramenta de aprendizado
 
Segurança Física: Lockpicking
Segurança Física: LockpickingSegurança Física: Lockpicking
Segurança Física: Lockpicking
 
Cool 3 assembly para linux
Cool 3   assembly para linuxCool 3   assembly para linux
Cool 3 assembly para linux
 
Android forensics the hard work
Android forensics   the hard workAndroid forensics   the hard work
Android forensics the hard work
 
Stack based overflow
Stack based overflowStack based overflow
Stack based overflow
 
Engenharia social
Engenharia socialEngenharia social
Engenharia social
 
Segurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwaresSegurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwares
 
How stuff works
How stuff worksHow stuff works
How stuff works
 
Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011
 
Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de VulnerabilidadesMetasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
 
Trusted Computing e Software Livre FISL 11 - 2010
Trusted Computing  e Software Livre FISL 11 - 2010Trusted Computing  e Software Livre FISL 11 - 2010
Trusted Computing e Software Livre FISL 11 - 2010
 

Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010

  • 1. Analysis of Vulnerabilities in 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 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
  • 5. 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
  • 6. 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
  • 7. “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
  • 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 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
  • 11. 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
  • 12. 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
  • 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?
  • 15. 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
  • 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
  • 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ódigo vulnerável à XSS
  • 21. 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
  • 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>
  • 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 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.
  • 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 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...
  • 32. 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.
  • 33. Execução Remota de Arquivos – Exemplo: Formulário de Acesso
  • 34. 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.
  • 35. 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]
  • 36. 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.
  • 37. Execução Remota de Arquivos – 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. 40/2
  • 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. 53/2
  • 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