DESENVOLVIMENTO SEGURO: 
IDENTIFICANDO POSSÍVEIS VULNERABILIDADES DE 
PÁGINAS WEB COM 
sqlmap 
Fábio Júnior Beneditto - Gr...
TEMA 
De acordo com o relatório OWASP Top 10 - 2013 [1], 
há uma vulnerabilidade que se mantém em primeiro lugar 
desde 20...
OWASP 
OPEN WEB APPLICATION SECURITY PROJECT 
O objetivo principal do OWASP Top 10 é 
educar desenvolvedores, projetistas,...
OWASP TOP 10 2013 
A1: Injeção de código 
A2: Quebra de autenticação e Gerenciamento de Sessão 
A3: Cross-Site Scripting (...
JUSTIFICATIVA 
Boas práticas de desenvolvimento vem sendo aprimoradas
MAS... 
DEVIDO A FALTA DE EXPERIÊNCIA DO DESENVOLVEDOR 
ocorrem falhas no tratamento das requisições de 
informação
POSSIBILITANDO DESSA FORMA 
INJEÇÃO DE CÓDIGO 
tais como: 
injeção de SQL 
de SO (Sistema Operacional) e 
de LDAP.
E, COMO OCORRE? 
Dados não confiáveis são enviados para um interpretador 
como parte de um comando ou consulta. 
Esses dad...
ILUSTRAÇÃO 
Fonte: XKCD
OBJETIVOS 
Identificar falhas de desenvolvimento mais comuns 
Apresentar possíveis soluções para que sejam corrigidas 
e, ...
METODOLOGIA 
Em um ambiente controlado 
Usando sqlmap 
Foram executados testes qualitativos 
Em 8 web sites
METODOLOGIA 
APÓS DIAGNÓSTICO 
Demonstrar a facilidade em obter informações restritas 
usuários administrativos 
e outros ...
sqlmap 
Fonte: sqlmap.org
O QUE É SQLMAP? 
É uma ferramenta Open Source para pentests que: 
automatiza processo de detecção e 
exploração de falhas ...
DENTRE SUAS MUITAS FEATURES 
Suporte COMPLETO a seis técnicas de SQL injection: 
boolean-based blind 
time-based blind 
er...
PRINCIPAL FORMA DE USO 
Através de URLs do tipo $_GET[]: 
$ python sqlmap.py ‐u "http://target/vuln.php?id=1" ‐‐batch 
Fon...
...E NÃO É SÓ!
O QUE MAIS PODE SER 
FEITO: 
Download e upload de qualquer arquivo 
Executar comandos arbitrários e receber seus retornos ...
RESULTADOS PARCIAIS 
8 websites avaliados 
3 apresentaram problemas 
Dados recebidos por GET e POST não foram 
sanitizados...
...EM OUTRAS PALAVRAS: 
Backend não filtrou as informações 
Repassou o comando ao SGBD 
que retornou TODAS as informações ...
CONSIDERAÇÕES FINAIS 
A identificação e correção de vulnerabilidades de código, 
e a melhoria das habilidades dos desenvol...
?Perguntas 
Comentários
REFERÊNCIAS 
1. Relatório OWASP Top 10 2013 - 
https://www.owasp.org/images/9/9c/OWASP_Top_10_2013_PT-BR.pdf 
2. sqlmap - ...
IMAGENS 
1. XKCD: Exploits of a Mom - https://www.xkcd.com/327/
CRÉDITOS DA APRESENTAÇÃO 
por Fábio Beneditto 
Usuário GNU/Linux desde 1999, Desenvolvedor Web desde 2008, trabalha 
com a...
Próximos SlideShares
Carregando em…5
×

Desenvolvimento seguro: Identificando possíveis vulnerabilidades de páginas web com sqlmap

460 visualizações

Publicada em

Slides da apresentação feita durante a InovaMundi 2014, na Universidade Feevale.
http://www.feevale.br/inovamundi

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
460
No SlideShare
0
A partir de incorporações
0
Número de incorporações
22
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento seguro: Identificando possíveis vulnerabilidades de páginas web com sqlmap

  1. 1. DESENVOLVIMENTO SEGURO: IDENTIFICANDO POSSÍVEIS VULNERABILIDADES DE PÁGINAS WEB COM sqlmap Fábio Júnior Beneditto - Graduando em Sistemas para Internet Prof. Me. Daniel Dalalana Bertoglio - Orientador Versão 0.1
  2. 2. TEMA De acordo com o relatório OWASP Top 10 - 2013 [1], há uma vulnerabilidade que se mantém em primeiro lugar desde 2010: A INJEÇÃO DE CÓDIGO EM PÁGINAS E APLICAÇÕES WEB.
  3. 3. OWASP OPEN WEB APPLICATION SECURITY PROJECT O objetivo principal do OWASP Top 10 é educar desenvolvedores, projetistas, arquitetos, gestores e organizações sobre as consequências das mais importantes vulnerabilidades de segurança de aplicações web. Fonte: OWASP
  4. 4. OWASP TOP 10 2013 A1: Injeção de código A2: Quebra de autenticação e Gerenciamento de Sessão A3: Cross-Site Scripting (XSS) A4: Referência Insegura e Direta a Objetos A5: Configuração Incorreta de Segurança A6: Exposição de Dados Sensíveis A7: Falta de Função para Controle do Nível de Acesso A8: Cross-Site Request Forgery (CSRF) A9: Utilização de Componentes Vulneráveis Conhecidos A10: Redirecionamentos e Encaminhamentos Inválidos Fonte: OWASP
  5. 5. JUSTIFICATIVA Boas práticas de desenvolvimento vem sendo aprimoradas
  6. 6. MAS... DEVIDO A FALTA DE EXPERIÊNCIA DO DESENVOLVEDOR ocorrem falhas no tratamento das requisições de informação
  7. 7. POSSIBILITANDO DESSA FORMA INJEÇÃO DE CÓDIGO tais como: injeção de SQL de SO (Sistema Operacional) e de LDAP.
  8. 8. E, COMO OCORRE? Dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta. Esses dados manipulados podem iludir o mesmo para que este execute comandos indesejados ou permita o acesso a dados não autorizados, causando prejuízos.
  9. 9. ILUSTRAÇÃO Fonte: XKCD
  10. 10. OBJETIVOS Identificar falhas de desenvolvimento mais comuns Apresentar possíveis soluções para que sejam corrigidas e, posteriormente, evitadas Melhorar o nível de conhecimento dos desenvolvedores a partir da resolução dos problemas encontrados.
  11. 11. METODOLOGIA Em um ambiente controlado Usando sqlmap Foram executados testes qualitativos Em 8 web sites
  12. 12. METODOLOGIA APÓS DIAGNÓSTICO Demonstrar a facilidade em obter informações restritas usuários administrativos e outros dados.
  13. 13. sqlmap Fonte: sqlmap.org
  14. 14. O QUE É SQLMAP? É uma ferramenta Open Source para pentests que: automatiza processo de detecção e exploração de falhas de SQL Injection, e expõe os dados do DB do servidor Fonte: sqlmap.org [2]
  15. 15. DENTRE SUAS MUITAS FEATURES Suporte COMPLETO a seis técnicas de SQL injection: boolean-based blind time-based blind error-based UNION query-based stacked queries out-of-band. Fonte: sqlmap.org [2]
  16. 16. PRINCIPAL FORMA DE USO Através de URLs do tipo $_GET[]: $ python sqlmap.py ‐u "http://target/vuln.php?id=1" ‐‐batch Fonte: sqlmap.org [2]
  17. 17. ...E NÃO É SÓ!
  18. 18. O QUE MAIS PODE SER FEITO: Download e upload de qualquer arquivo Executar comandos arbitrários e receber seus retornos através do Banco de Dados, quando o SGBD for MySQL, PostgreSQL ou Microsoft SQL Server Fonte: sqlmap.org [2]
  19. 19. RESULTADOS PARCIAIS 8 websites avaliados 3 apresentaram problemas Dados recebidos por GET e POST não foram sanitizados Permitindo execução de código arbitrário pelo backend
  20. 20. ...EM OUTRAS PALAVRAS: Backend não filtrou as informações Repassou o comando ao SGBD que retornou TODAS as informações do website
  21. 21. CONSIDERAÇÕES FINAIS A identificação e correção de vulnerabilidades de código, e a melhoria das habilidades dos desenvolvedores faz com que seja produzido melhor e mais seguro código, antes de sua publicação na internet. Dessa forma, aumentamos: a segurança das informações e a credibilidade da empresa desenvolvedora.
  22. 22. ?Perguntas Comentários
  23. 23. REFERÊNCIAS 1. Relatório OWASP Top 10 2013 - https://www.owasp.org/images/9/9c/OWASP_Top_10_2013_PT-BR.pdf 2. sqlmap - 3. sqlmap Wiki - http://sqlmap.org https://github.com/sqlmapproject/sqlmap/wiki
  24. 24. IMAGENS 1. XKCD: Exploits of a Mom - https://www.xkcd.com/327/
  25. 25. CRÉDITOS DA APRESENTAÇÃO por Fábio Beneditto Usuário GNU/Linux desde 1999, Desenvolvedor Web desde 2008, trabalha com as linguagens de programação PHP e Javascript e atualmente se dedica ao estudo de Segurança da Informação. Cursa Sistemas para Internet na Universidade Feevale. fabio@altoscodigos.tk github.com/fabiobeneditto powered by: reveal.js http://lab.hakim.se/reveal-js/

×