SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Development Pitfalls
11 de julho de 2014
Apresentação:
®
Development Pitfalls
2/ 34
®
Quem sou ?
Antonio Costa “Cooler_”
●
Experiência de 4 anos em desenvolvimento de sistemas web
e web spiders em geral, automações diversas, soluções
diversas para problemas em unix...
●
Desenvolvedor, pesquisador...
●
Faço parte do grupo de pesquisa BugSec.
●
Programador em ASM, C, C++,Common
Lisp(SBCL,Clisp),Perl,PHP,Python...
●
Trabalho na CONVISO.
https://github.com/CoolerVoid/
http://code.google.com/p/bugsec/
@Cooler_freenode
Development Pitfalls
3/ 34
®
Development Pitfalls
Development Pitfalls
4/ 34
®
Development Pitfalls
5/ 34
®
Versionamento
● CVS
● .cvsignore
● GIT
● .git/info/exclude
● .gitignore
● SVN
● .svnignore
Development Pitfalls
6/ 34
®
Qual é o problema ?
● Vazamento de informações
Development Pitfalls
7/ 34
®
Qual é o problema ?
● Atacante pode obter estes arquivos
● Arquivos de interesse...
Development Pitfalls
8/ 34
®
Qual é o problema ?
● Lista para gerar captcha
● Obviamente o atacante vai usar a lista
● Cada informação acaba sendo útil...
Development Pitfalls
9/ 34
®
● Acessando o arquivo “db_connector.yml”
Qual é o problema ?
Development Pitfalls
10/ 34
®
Qual é o problema ?
● Agora sim... OK!
Development Pitfalls
11/ 34
®
Tubarões em todos os lugares
● Bots,scanners... só procurando uma brecha...
Development Pitfalls
12/ 34
®
SQL-injection
Development Pitfalls
13/ 34
®
Buffer Overflow
Development Pitfalls
14/ 34
®
Senhas
● Dork: extension:yml password database
Development Pitfalls
15/ 34
®
Senhas
● Dork: extension:bak user= password=
Development Pitfalls
16/ 34
®
Difícil de achar ?
● Automação
convisoappsec/research_github_hack/
Development Pitfalls
17/ 34
®
Difícil de achar ?
Development Pitfalls
18/ 34
®
Difícil de achar ?
Development Pitfalls
19/ 34
®
● Automação
Development Pitfalls
20/ 34
®
Explorando tudo em massa
Development Pitfalls
21/ 34
®
Dicas para evitar o pior
Development Pitfalls
22/ 34
®
Boas práticas
● Leia documentação
● Não use funções “deprecated”
● Resolva os “Warnings”
● Faça validação de todas as entradas de dados
● Procure saber se foi feito “Hardening” no ambiente
● Use políticas para forçar complexidade nas senhas
● Não deixe a público informações desnecessárias
● Use SSL ao transportar dados
● Se necessário técnicas anti-tampering
● Teste o software de todas as formas possíveis
…
● Contrate um serviço para Pentest de tempos em tempos...
Development Pitfalls
23/ 34
®
Procure boas práticas...
Exemplo para evitar memory leaks
● Em “C”:
char *x=(char *)malloc(sizeof(char)*20);
...
free(x);
● Em “C++”:
int *x=(int *)new int;
…
● delete x;
● Use o “Valgrind” para auditar a memória...
Development Pitfalls
24/ 34
®
Exemplo evitar “command injection”
● 10 sprintf(buffer, "/bin/mail %s < /log/mail_loja.txt", input);
● 11
● 12 system(buffer);
Para mitigar faça validação:
● Posix Regex, Pcre... ^([a-zA-Z0-9.-])*([@])([a-z0-9]).([a-z]{2,3})
● Black list...
● Strncmp()...
● Faça sempre validação...
● execv(), execl(), system(), eval()...
Procure boas práticas
Development Pitfalls
25/ 34
®
Validação
Development Pitfalls
26/ 34
®
Validação
' or 2=2 --
Development Pitfalls
27/ 34
®
Validação
● Sanitização
Development Pitfalls
28/ 34
®
Development Pitfalls
29/ 34
®
Conheça a OWASP
● O que é Owasp?
● Open Web Application Security Project (OWASP)
● Uma entidade sem fins lucrativos e de reconhecimento
internacional.
● Reúne informações importantes para permitir
avaliar riscos de segurança e combater formas
de ataques através da internet.
● www.owasp.org
Development Pitfalls
30/ 34
®
Agora tudo OK ?
Development Pitfalls
31/ 34
®
Não falei tudo !
Development Pitfalls
32/ 34
®
● I'm trying to free your mind, Neo. But I can only
show you the door. You're the one that has to
walk through it.
● “Morpheus - The Matrix”
Development Pitfalls
33/ 34
®
Agradecimentos
● Pelos testes com git:
● Victor Ramos “m0nad”
● Pela pesquisa:
● Marcos Alvares
● Ulisses Castro
● Rodrigo Montoro
● CONVISO
Development Pitfalls
34/ 34
®

Weitere ähnliche Inhalte

Andere mochten auch (7)

Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
Falsificação de solicitação entre sites csrf.html
Falsificação de solicitação entre sites   csrf.htmlFalsificação de solicitação entre sites   csrf.html
Falsificação de solicitação entre sites csrf.html
 
0d1n bsides2
0d1n bsides20d1n bsides2
0d1n bsides2
 
burlando um WAF
burlando um WAFburlando um WAF
burlando um WAF
 
Bsides4cooler
Bsides4coolerBsides4cooler
Bsides4cooler
 
Bsides odin
Bsides odinBsides odin
Bsides odin
 
Raptor web application firewall
Raptor web application firewallRaptor web application firewall
Raptor web application firewall
 

Ähnlich wie Development pitfalls

Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
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 livreDiego Santos
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testPaulo Renato Lopes Seixas
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Juliano Atanazio
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Rodrigo Senra
 
Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadoshenriqueprossi
 
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraOFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraDouglas A. Gomes da Silva
 
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 SentinelasSegInfo
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...Gleicon Moraes
 

Ähnlich wie Development pitfalls (20)

Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
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
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen test
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?Por que Python? Vamos Conhecer? Vamos Aprender?
Por que Python? Vamos Conhecer? Vamos Aprender?
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
 
Backtrack4 inguma
Backtrack4 ingumaBacktrack4 inguma
Backtrack4 inguma
 
Backtrack 4 Final Distro Penetration Testing Unimep2009
Backtrack 4 Final  Distro Penetration Testing Unimep2009Backtrack 4 Final  Distro Penetration Testing Unimep2009
Backtrack 4 Final Distro Penetration Testing Unimep2009
 
Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
Meetup-Churrops
Meetup-ChurropsMeetup-Churrops
Meetup-Churrops
 
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação SeguraOFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
OFICINA HACKER - Técnicas de Esteganografia, Criptografia e Navegação Segura
 
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
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
 

Mehr von Antonio Costa aka Cooler_ (8)

Strange security mitigations
Strange security mitigationsStrange security mitigations
Strange security mitigations
 
Understand study
Understand studyUnderstand study
Understand study
 
WAF protections and bypass resources
WAF protections and bypass resourcesWAF protections and bypass resources
WAF protections and bypass resources
 
Static analysis for beginners
Static analysis for beginnersStatic analysis for beginners
Static analysis for beginners
 
Improving spam detection with automaton
Improving spam detection with automatonImproving spam detection with automaton
Improving spam detection with automaton
 
0d1n
0d1n0d1n
0d1n
 
Burlando Waf 2.0
Burlando Waf  2.0Burlando Waf  2.0
Burlando Waf 2.0
 
detector de ladrão com laser
detector de ladrão com laserdetector de ladrão com laser
detector de ladrão com laser
 

Development pitfalls