o poder do x v.1.1

15
O Poder dos XHeaders. U/lizando Headers HTTP para proteção Contra vulnerabilidades em WEB APP. By William Costa

Upload: william-costa

Post on 31-Jul-2015

63 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: O poder do x  v.1.1

O  Poder  dos  X-­‐Headers.  U/lizando  Headers    HTTP  para  proteção  Contra  

vulnerabilidades  em  WEB  APP.      

By    

William  Costa  

Page 2: O poder do x  v.1.1

             

William  Costa  

Consultor  em  Segurança  da  Informação.  CISSP,  C|EH,  E|CSA,  CPT,  CEPT,  LPI.  

Page 3: O poder do x  v.1.1

TOP  10  OWASP

•  OWASP  Top  10  –  2013      •  A1  –  InjecJon      •  A2  –  Broken  AuthenJcaJon  and  Session  Management      •  A3  –  Cross-­‐Site  Scrip0ng  (XSS)      •  A4  –  Insecure  Direct  Object  References      •  A5  –  Security  MisconfiguraJon      •  A6  –  SensiJve  Data  Exposure      •  A7  –  Missing  FuncJon  Level  Access  Control      •  A8  –  Cross-­‐Site  Request  Forgery  (CSRF)      •  A9  –  Using  Known  Vulnerable  Components      •  A10  –  Unvalidated  Redirects  and  Forwards          

Page 4: O poder do x  v.1.1

Headers  HTTP/1.1   Cliente                                                                                Servidor              

   

Page 5: O poder do x  v.1.1

RFC  6648 O  Uso  do  X  no  inicio  de  alguns  Headers  idenJficam  que  são  cabeçalhos  

não  padronizados.        

Page 6: O poder do x  v.1.1

Nossos  X-­‐Headers

Response  Headers  (Server  >  Client)  • X-­‐Frame-­‐OpJons  • X-­‐XSS-­‐ProtecJon  •  Strict-­‐Transport-­‐Security  • X-­‐Content-­‐Security-­‐Policy  • X-­‐Content-­‐Type-­‐OpJons

Request  Headers  (Client  >  Server)  • Referer  • X-­‐?  

Page 7: O poder do x  v.1.1

X-­‐Frame-­‐Op/ons  vs.  Clickjacking    

• O  cabeçalho  de  resposta  HTTP  X-­‐Frame-­‐OpJons  é  usado  para  indicar  ou  não  ao  navegador  se  deve  ser  autorizado  a  carregar  a  página  dentro  de  um  <frame>,  <iframe>  ou  <object>.  Podendo  assim  evitar  um  ataque  de  Clickjacking  

• DENY  •  SAMEORIGIN  • ALLOW-­‐FROM  uri  

Suportado  por:  

Page 8: O poder do x  v.1.1

X-­‐XSS-­‐Protec/on  vs.  XSS

•  Este  cabeçalho  permite  habilitar  o  filtro  de  Cross-­‐site  scripJng  (XSS)  incorporado  na  maioria  dos  navegadores.  Geralmente  é  aJvado  por  padrão,  então  o  papel  deste  cabeçalho  é  re-­‐aJvar  o  filtro  para  este  site  específico  se  ele  foi  desaJvado  pelo  usuário.    

 •  0    (Disable)  •  1      (Enable)  •   1;  mode=block  (Não  carrega  o  script)    

Suportado  por:  

Page 9: O poder do x  v.1.1

Strict-­‐Transport-­‐Security  vs.  Man-­‐in-­‐the-­‐middle     •  Este  cabeçalho  força  a  comunicação  entre  cliente  e  servidor  sempre  via  HTTPS,  HSTS  também  desaJva  a  capacidade  do  usuário  de  ignorar  os  avisos  de  negociação  SSL.  

 • max-­‐age  (durante  esse  periodo  só  vai  aceitar  conexões  hrps)  • includeSubDomains  

Suportado  por:  

Page 10: O poder do x  v.1.1

(X)-­‐Content-­‐Security-­‐Policy  vs.  Code  Injec/on,  XSS

• Content  Security  Policy  (CSP)  hoje  já    é  um  Header  padrão  e  uma  camada  extra  de  segurança  que  ajuda  e  miJgar  o  impacto  de  certos  Jpos  de  ataques,  incluindo  Cross  Site  ScripJng  (XSS)  e  ataques  de  injeção  de  dados.    

 • script-­‐src    • object-­‐src  • style-­‐src  • img-­‐src  • media-­‐src  • frame-­‐src  • font-­‐src  • …  

Suportado  por:  

Page 11: O poder do x  v.1.1

X-­‐Content-­‐Type-­‐Op/ons  vs.  Mime  AXacks  XSS • X-­‐Content-­‐Type-­‐OpJons  informa  ao  browser  para  não  tentar  adivinhar  o  Jpo  de  arquivo    baseado  no  conteúdo.  

 • nosniff  

Suportado  por:  

Page 12: O poder do x  v.1.1

Referer  vs.  CSRF • Referer  é  um  cabeçalho  enviado  pelo  browser  informando  de  onde  originou  a  requisição.  

 •  (  absoluteURI  |  relaJveURI  )  

Suportado  por:  

Send  in  Request  

Page 13: O poder do x  v.1.1

X  vs.  X-­‐Vulnerability • Podemos  uJlizar  um  Header  Request  para  proteção  de  várias  vulnerabilidades,  como  validar  um  token  de  CSRF  ...  

 ...  

 •  ?  

Suportado  por:  

Page 14: O poder do x  v.1.1

Conclução

• Os  cabeçalhos  do  HTTP  podem  ser  usados  não  como  unica  fonte  de  miJgar  as  vulnerabilidades  WEBs,  mas,  são  uma  ferramenta  para  dificultar  a  exploração  de  uma  falha.    

Page 15: O poder do x  v.1.1

<script>alert(String(/Perguntas?/).substr(1,10)  );  </script>

william.costa  arroba  gmail.com hXps://twiXer.com/willcosta