O Poder dos X-­‐Headers. 
U/lizando Headers HTTP para proteção Contra 
vulnerabilidades em WEB APP. 
By 
William 
Costa
William Costa 
Consultor 
em 
Segurança 
da 
Informação. 
CISSP, 
C|EH, 
E|CSA, 
CPT, 
CEPT, 
LPI.
TOP 10 OWASP 
• OWASP 
Top 
10 
– 
2013 
• A1 
– 
InjecJon 
• A2 
– 
Broken 
AuthenJcaJon 
and 
Session 
Management 
• A3 ...
Headers HTTP/1.1 
Cliente 
Servidor
RFC 6648 
O 
Uso 
do 
X 
no 
inicio 
de 
alguns 
Headers 
idenJficam 
que 
são 
cabeçalhos 
não 
padronizados.
Nossos X-­‐Headers 
Response 
Headers 
(Server 
> 
Client) 
• X-­‐Frame-­‐OpJons 
• X-­‐XSS-­‐ProtecJon 
• Strict-­‐Transp...
X-­‐Frame-­‐Op/ons vs. Clickjacking 
• O 
cabeçalho 
de 
resposta 
HTTP 
X-­‐ 
Frame-­‐OpJons 
é 
usado 
para 
indicar 
ou...
X-­‐XSS-­‐Protec/on vs. XSS 
• Este 
cabeçalho 
permite 
habilitar 
o 
filtro 
de 
Cross-­‐site 
scripJng 
(XSS) 
incorpor...
Strict-­‐Transport-­‐Security vs. Man-­‐in-­‐the-­‐middle 
• Este 
cabeçalho 
força 
a 
comunicação 
entre 
cliente 
e 
se...
(X)-­‐Content-­‐Security-­‐Policy vs. Code Injec/on, 
XSS 
• Content 
Security 
Policy 
(CSP) 
hoje 
já 
é 
um 
Header 
pa...
X-­‐Content-­‐Type-­‐Op/ons vs. Mime AXacks XSS 
• X-­‐Content-­‐Type-­‐OpJons 
informa 
ao 
browser 
para 
não 
tentar 
a...
Referer vs. CSRF 
• Referer 
é 
um 
cabeçalho 
enviado 
pelo 
browser 
informando 
de 
onde 
originou 
a 
requisição. 
• (...
X vs. X-­‐Vulnerability 
• Podemos 
uJlizar 
um 
Header 
Request 
para 
proteção 
de 
várias 
vulnerabilidades, 
como 
val...
Conclução 
• Os 
cabeçalhos 
do 
HTTP 
podem 
ser 
usados 
não 
como 
unica 
fonte 
de 
miJgar 
as 
vulnerabilidades 
WEBs...
<script>alert(String(/Perguntas?/).substr(1,10) ); </script> 
william.costa arroba gmail.com 
hXps://twiXer.com/willcosta
Próximos SlideShares
Carregando em…5
×

O poder do x v.1.1

299 visualizações

Publicada em

Slides Apresentados no TDC SP 2014

Publicada em: Tecnologia
  • Seja o primeiro a comentar

O poder do x v.1.1

  1. 1. O Poder dos X-­‐Headers. U/lizando Headers HTTP para proteção Contra vulnerabilidades em WEB APP. By William Costa
  2. 2. William Costa Consultor em Segurança da Informação. CISSP, C|EH, E|CSA, CPT, CEPT, LPI.
  3. 3. 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
  4. 4. Headers HTTP/1.1 Cliente Servidor
  5. 5. RFC 6648 O Uso do X no inicio de alguns Headers idenJficam que são cabeçalhos não padronizados.
  6. 6. 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-­‐?
  7. 7. 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:
  8. 8. 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:
  9. 9. 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:
  10. 10. (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:
  11. 11. 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:
  12. 12. Referer vs. CSRF • Referer é um cabeçalho enviado pelo browser informando de onde originou a requisição. • ( absoluteURI | relaJveURI ) Suportado por: Send in Request
  13. 13. X vs. X-­‐Vulnerability • Podemos uJlizar um Header Request para proteção de várias vulnerabilidades, como validar um token de CSRF ... ... • ? Suportado por:
  14. 14. 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.
  15. 15. <script>alert(String(/Perguntas?/).substr(1,10) ); </script> william.costa arroba gmail.com hXps://twiXer.com/willcosta

×