OWASP TOP 10
A Web Security CookBook
$ whoami
●   Estudante de Banco de dados na FATEC SJC;
●   WebDeveloper na empresa QMágico;
●   Linux Xiita em potencial e
●   Entusiasta em segurança da informação.
Projeto OWASP
●   Open Web Application Security Project
    ●   Comunidade aberta e voluntária
    ●   Segurança de aplicações
    ●   Aplicações para treinamento
    ●   Documentos e manifestos
    ●   Apresentações
Projeto OWASP
●   Desenvolvimento seguro
●   Promover o compartilhamento de conteúdo
    ●   “We grow when we share”
OWASP em números
●   420.000 page views por mês
●   230 GB de downloads por mês
●   4.618 usuários do wiki
●   200 atualizações por dia
●   124 capítulos
●   16.000 membros nos mailings lists
●   48 projetos de ferramentas e documentos
OWASP para todos!
●   Publicações, artigos e manifestos
    ●   OWASP Top 10

●   Softwares de teste e treinamento
    ●   WebGoat
    ●   D.V.W.A.

●   Para todos mesmo!
    ●   GPL ou creative commons
Vulnerabilidades WEB
Vulnerabilidades WEB
●   Aplicações WEB
    ●   Home-Mades e Freestyle
    ●   Acompanham vicios do programador
    ●   Proporciona ataques flexíveis
    ●   “Combos de vulnerabilidades”

●   Avaliar a internet como um ambiente hostil
    ●   Sempre usar a WhiteList
    ●   SE PODEM FAZER VÃO FAZER!
Principais ameaças
●   Injeções
    ●   OWASP TOP 10 2007 - 2º
    ●   OWASP TOP 10 2010 - 1º

●   Cross Site Scripting (XSS)
    ●   OWASP TOP 10 2007 - 1º
    ●   OWASP TOP 10 2010 - 2º
OWASP TOP 10
A1 - Injeções
●   LDAP, SQL, Shell, etc..
●   Strings interpretadas como comandos
●   Exemplo SQL Injection:

    SELECT * FROM 'clientes' WHERE 'age'=20
A1 - Injeções
●   LDAP, SQL, Shell, etc..
●   Strings interpretadas como comandos
●   Exemplo SQL Injection:

    SELECT * FROM 'clientes' WHERE 'age'=20

    SELECT * FROM 'clientes'
    WHERE 'age'=20;DROP TABLE 'usuarios';
A1 - Injeções
●   Exemplo Shell Injection:
    ●   Servidor de pesquisa DNS


        site-tinovale.rhcloud.com%20%3B
        %20/bin/cat%20/etc/passwd%3B
A1 - Injeções
●   Exemplo Shell Injection:
    ●   Servidor de pesquisa DNS


        site-tinovale.rhcloud.com ; /bin/cat
        /etc/passwd;
A1 - Injeções
A2 – XSS
●   Ataques enviados ao browser do usuário
●   Redirecionamento e/ou roubo de dados
●   Tipos de XSS:
    ●   Persistente e Não persistente


             <script>alert('XSS')</script>
A3 – Quebra de autenticação
●   Protocolo HTTP não prevê autenticação
    ●   Não é criptografado
    ●   Depende do desenvolvedor
A4 – Referência direta a
 Objetos
●   Permissionamento
    ●   Validação client-side
A5 – Cross Site Request
Forgery (CSRF)
●   Primo distante do XSS
    ●   Forja requisições aproveitando sessões ativas



        <img src=”forum.com.br/logout.php”/>
A6 – Falhas de configuração
●   Foge do escopo de código
●   Exemplos: servidores ou serviços
    desatualizados, DDOS ou DOS
●   Vulneráveis a exploits (conhecidos ou não)
A7 – Armazenamento inseguro
●   Permissão e criptografia
    ●   Exemplo: Aplicação E-Commerce na nuvem
A8 – Falha de restrição de
acessos a URL
●   Métodos/paginas acessíveis
    ●   Exemplo: método getAll()
A9 – Canal Inseguro
●   Criptografia na transmissão de dados
    ●   HTTPS e SSL
    ●   Evitam “sniffers”


●   Suporte a SSL x Obrigatoriedade de SSL
A10 – Redirecionamentos
não validados
●   Redirects não validados
    ●   Exemplo: javascript:history.back()
Porque se procupar?
●   Negócios
●   Clientes
●   Dinheiro
●   Credibilidade
●   …..
Como resolver?
Obrigado!




/giovaneliberato
@giovaneliberato
giovaneliberato@gmail.com
slideshare.net/GiovaneLiberato/

/groups/valehackerspace

OWASP Top 10 - A web security cookbook

  • 1.
    OWASP TOP 10 AWeb Security CookBook
  • 2.
    $ whoami ● Estudante de Banco de dados na FATEC SJC; ● WebDeveloper na empresa QMágico; ● Linux Xiita em potencial e ● Entusiasta em segurança da informação.
  • 3.
    Projeto OWASP ● Open Web Application Security Project ● Comunidade aberta e voluntária ● Segurança de aplicações ● Aplicações para treinamento ● Documentos e manifestos ● Apresentações
  • 4.
    Projeto OWASP ● Desenvolvimento seguro ● Promover o compartilhamento de conteúdo ● “We grow when we share”
  • 5.
    OWASP em números ● 420.000 page views por mês ● 230 GB de downloads por mês ● 4.618 usuários do wiki ● 200 atualizações por dia ● 124 capítulos ● 16.000 membros nos mailings lists ● 48 projetos de ferramentas e documentos
  • 6.
    OWASP para todos! ● Publicações, artigos e manifestos ● OWASP Top 10 ● Softwares de teste e treinamento ● WebGoat ● D.V.W.A. ● Para todos mesmo! ● GPL ou creative commons
  • 7.
  • 8.
    Vulnerabilidades WEB ● Aplicações WEB ● Home-Mades e Freestyle ● Acompanham vicios do programador ● Proporciona ataques flexíveis ● “Combos de vulnerabilidades” ● Avaliar a internet como um ambiente hostil ● Sempre usar a WhiteList ● SE PODEM FAZER VÃO FAZER!
  • 9.
    Principais ameaças ● Injeções ● OWASP TOP 10 2007 - 2º ● OWASP TOP 10 2010 - 1º ● Cross Site Scripting (XSS) ● OWASP TOP 10 2007 - 1º ● OWASP TOP 10 2010 - 2º
  • 10.
  • 11.
    A1 - Injeções ● LDAP, SQL, Shell, etc.. ● Strings interpretadas como comandos ● Exemplo SQL Injection: SELECT * FROM 'clientes' WHERE 'age'=20
  • 12.
    A1 - Injeções ● LDAP, SQL, Shell, etc.. ● Strings interpretadas como comandos ● Exemplo SQL Injection: SELECT * FROM 'clientes' WHERE 'age'=20 SELECT * FROM 'clientes' WHERE 'age'=20;DROP TABLE 'usuarios';
  • 13.
    A1 - Injeções ● Exemplo Shell Injection: ● Servidor de pesquisa DNS site-tinovale.rhcloud.com%20%3B %20/bin/cat%20/etc/passwd%3B
  • 14.
    A1 - Injeções ● Exemplo Shell Injection: ● Servidor de pesquisa DNS site-tinovale.rhcloud.com ; /bin/cat /etc/passwd;
  • 15.
  • 16.
    A2 – XSS ● Ataques enviados ao browser do usuário ● Redirecionamento e/ou roubo de dados ● Tipos de XSS: ● Persistente e Não persistente <script>alert('XSS')</script>
  • 17.
    A3 – Quebrade autenticação ● Protocolo HTTP não prevê autenticação ● Não é criptografado ● Depende do desenvolvedor
  • 18.
    A4 – Referênciadireta a Objetos ● Permissionamento ● Validação client-side
  • 19.
    A5 – CrossSite Request Forgery (CSRF) ● Primo distante do XSS ● Forja requisições aproveitando sessões ativas <img src=”forum.com.br/logout.php”/>
  • 20.
    A6 – Falhasde configuração ● Foge do escopo de código ● Exemplos: servidores ou serviços desatualizados, DDOS ou DOS ● Vulneráveis a exploits (conhecidos ou não)
  • 21.
    A7 – Armazenamentoinseguro ● Permissão e criptografia ● Exemplo: Aplicação E-Commerce na nuvem
  • 22.
    A8 – Falhade restrição de acessos a URL ● Métodos/paginas acessíveis ● Exemplo: método getAll()
  • 23.
    A9 – CanalInseguro ● Criptografia na transmissão de dados ● HTTPS e SSL ● Evitam “sniffers” ● Suporte a SSL x Obrigatoriedade de SSL
  • 24.
    A10 – Redirecionamentos nãovalidados ● Redirects não validados ● Exemplo: javascript:history.back()
  • 25.
    Porque se procupar? ● Negócios ● Clientes ● Dinheiro ● Credibilidade ● …..
  • 26.
  • 27.