O documento discute como os cabeçalhos HTTP podem ser usados para proteger aplicações web contra vulnerabilidades, mencionando cabeçalhos como X-Frame-Options, X-XSS-Protection, Strict-Transport-Security e outros, e como eles ajudam a mitigar ataques como clickjacking, XSS e man-in-the-middle.
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. 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. 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. (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. 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. 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. 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. 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.