SlideShare une entreprise Scribd logo
1  sur  46
Gli	
  HTTP	
  Security	
  Header	
  e	
  altri	
  elemen3	
  da	
  sapere	
  
su	
  HTTP	
  in	
  un	
  Web	
  Applica3on	
  Penetra3on	
  Test
Linux	
  Day	
  2013	
  
Roma,	
  26	
  o)obre	
  2013	
  
Simone	
  Onofri
Introduzione
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
hDp://onofri.org/u/ld13
Agenda
Agenda

Introduzione	
  
!

Come	
  si	
  sono	
  evolute	
  le	
  minacce…	
  
…e	
  il	
  perchè	
  degli	
  HTTP	
  Security	
  Headers?	
  
!

HTTP	
  Request	
  e	
  HTTP	
  Response	
  
!

Gli	
  HTTP	
  Security	
  Header	
  
!

Conclusioni
Come	
  si	
  sono	
  evolute	
  le	
  minacce	
  nel	
  tempo	
  e	
  perchè	
  
sono	
  importan3	
  gli	
  HTTP	
  Header
Computer	
  Security	
  Timeline
E	
  ora?
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
HTTP	
  Request	
  e	
  HTTP	
  Response
HTTP	
  Request	
  e	
  Response
HTTP Request
Method <SP>

URI

<SP> Protocol

HTTP Response
Protocol <SP>

Code

<SP>

<CR> <LF>

<CR> <LF>

Header: Value

Header: Value

<CR> <LF>

<CR> <LF>

Header: Value

Header: Value

<CR> <LF>

<CR> <LF>

Header: Value

Explanati
on

Header: Value

<CR> <LF>

<CR> <LF>

Body

<CR> <LF>

<CR> <LF>

Body
HTTP	
  Request	
  -­‐	
  Method
• Quali	
  sono	
  i	
  metodi	
  che	
  l’applicazione/il	
  web	
  server	
  acce)ano?	
  Quali	
  
sono	
  correN?	
  HTTP	
  Verb	
  Exploit	
  /	
  Tampering	
  
• GET	
  
• POST	
  
• PUT	
  (operazioni	
  sui	
  file)	
  
• DELETE	
  (operazioni	
  sui	
  file)	
  
• TRACE	
  (rifle)ere	
  parametri)	
  
• CONNECT	
  (usare	
  l’host	
  come	
  proxy)	
  
• ANTANI	
  (???)	
  
• Come	
  lo	
  verifico?	
  
curl -kis -X METHOD -v http://onofri.org/
HTTP	
  Request	
  -­‐	
  Method	
  (es.)
TRACE / HTTP/1.1
Connection: Close
Host: 127.0.0.1
Pragma: no-cache

!
<script>alert(1)</script>
!
!

HTTP/1.1 200 OK
Date: Tue, 05 Apr 2011 18:37:20 GMT
Server: Apache/2.2.8 (Ubuntu)
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: message/http

!

TRACE / HTTP/1.1
Connection: Keep-Alive
Host: 127.0.0.1
Pragma: no-cache

!

<script>alert(1)</script>
HTTP	
  Request	
  -­‐	
  URI
• Al	
  ne)o	
  della	
  Data	
  Validaon	
  come	
  la	
  conosciamo,	
  un	
  aspe)o	
  
interessante	
  a	
  livello	
  più	
  basso	
  è	
  come	
  i	
  parametri	
  possono	
  essere	
  
intepreta.	
  Possono	
  essere	
  inquina,	
  per	
  bypassare	
  dei	
  filtri	
  o	
  altro?	
  Si	
  
con	
  la	
  HTTP	
  Parameter	
  Pollu3on.	
  
• Come	
  lo	
  verifico?	
  
curl -kis http://onofri.org/path.php?
parametro=valore1&parametro=valore2
HTTP	
  Request	
  -­‐	
  URI	
  (es.)
Web	
  Applica3on	
  Server	
  

Cosa	
  viene	
  processato?

ASP.NET	
  /	
  IIS

Tu)e	
  le	
  occorrenze,	
  concatenate	
  da	
  una	
  virgola

ASP	
  /	
  IIS

Tu)e	
  le	
  occorrenze,	
  concatenate	
  da	
  una	
  virgola

PHP	
  /	
  Apache

L’ulma	
  occorrenza

PHP	
  /	
  Zeus

L’ulma	
  occorrenza

JSP	
  /	
  Servlet	
  /	
  Tomcat

La	
  prima	
  occorrenza

JSP	
  /	
  Servlet	
  /	
  Oracle	
  AS	
  10g

L’ulma	
  occorrenza

JSP	
  /	
  Servlet	
  /	
  Je)y

L’ulma	
  occorrenza

IBM	
  Lotus	
  Domino

L’ulma	
  occorrenza

IBM	
  HTTP	
  Server	
  

La	
  prima	
  occorrenza

mod_perl	
  /	
  libpareq2	
  /	
  Apache

La	
  prima	
  occorrenza

Perl	
  CGI	
  /	
  Apache

La	
  prima	
  occorrenza

mod_wsgi	
  (Python)	
  /	
  Apache

La	
  prima	
  occorrenza

Python	
  /	
  Zope

Tu)e	
  le	
  occorrenze	
  se	
  le	
  meNamo	
  come	
  lista	
  param=[‘valore1’,	
  ‘valore2’]
HTTP	
  Request	
  -­‐	
  Version
• A)ualmente	
  ulizziamo	
  il	
  protocollo	
  HTTP	
  nelle	
  sue	
  due	
  versioni.	
  HTTP/
1.0	
  e	
  HTTP/1.1.	
  e	
  sta	
  per	
  uscire	
  HTTP/2.0	
  
• Tra	
  le	
  differenze	
  principali	
  che	
  ci	
  possono	
  interessare	
  è	
  la	
  presenza	
  di	
  
vhost	
  
!
• Come	
  lo	
  verifico?	
  
curl -kis —http1.0 -H “Host: onofri.org” http://
67.222.36.105
curl -kis —http1.1 -H “Host: onofri.org” http://
67.222.36.105
HTTP	
  Request	
  -­‐	
  Header
• Nonostante	
  nei	
  browser	
  non	
  vediamo	
  gli	
  header,	
  anche	
  solo	
  l’invio	
  di	
  
ques	
  può	
  modificare	
  completamente	
  il	
  comportamento	
  del	
  server	
  e/o	
  
dell’applicazione.	
  
• Cookie	
  (Data	
  Validaon)	
  
• Authorizaon	
  (Basic	
  Authencaon)	
  
• Host	
  (già	
  visto)	
  
• Origin	
  (lo	
  vediamo	
  dopo)	
  
• Upgrade	
  (cambio	
  di	
  protocollo)	
  
• Via	
  (Data	
  Validaon,	
  Non	
  Repudiaon)	
  
• User-­‐Agent	
  (Data	
  Validaon)	
  
• Referer	
  (Data	
  Validaon,	
  Autorizzazione)	
  
• Inoltre	
  possiamo	
  ulizzare	
  diversi	
  a)acchi	
  manipolando	
  gli	
  header	
  anche	
  
per	
  quesoni	
  di	
  DoS	
  (es.	
  Slowloris)	
  
HTTP	
  Request	
  -­‐	
  Header	
  (es.)

curl -kis -A "<script>alert(1)</script>" http://onofri.org/

!

curl -kis -H "Via: 127.0.0.1" http://onofri.org/

!

curl -kis -H "Referer: http://onofri.org/admin/index.php”
http://onofri.org/admin/index.php?
function=adduser&user=hacker&password=hacker
HTTP	
  Response	
  -­‐	
  Protocol	
  /	
  Code	
  /	
  Explana3on
• Possiamo	
  capire	
  come	
  ci	
  risponde	
  il	
  server	
  a	
  livello	
  di	
  protocollo	
  e	
  codice	
  
(parcolarmente	
  ule	
  se	
  manipoliamo	
  l’header)	
  
• Da	
  qui	
  possiamo	
  o)enere	
  molte	
  informazioni	
  sui	
  codici	
  di	
  errore	
  per	
  
capire	
  come	
  si	
  stru)ura	
  l’applicazione	
  (es.	
  se	
  usa	
  dei	
  redirect,	
  pagine	
  
404	
  personalizzate…)
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
HTTP	
  Response	
  -­‐	
  Header
• Gli	
  Header	
  sono	
  una	
  fonte	
  molto	
  interessante	
  e	
  importante	
  di	
  
informazioni	
  
• Policy	
  relave	
  al	
  caching	
  e	
  alla	
  durata	
  della	
  pagina	
  (es.	
  Pragma,	
  
Cache-­‐Control)	
  
• Policy	
  per	
  l’accesso	
  alle	
  informazioni	
  (es.	
  Content-­‐Type)	
  
• Codifica	
  
• Set-­‐Cookie	
  (HTTPOnly,	
  Secure,	
  Path,	
  Domain,	
  Expire,	
  Max-­‐Age)	
  
• Possono	
  rilasciare	
  informazioni	
  (es.	
  Server,	
  X-­‐Powered-­‐By,	
  
Alternates…)	
  
• Possono	
  essere	
  usa	
  per	
  proteggere	
  gli	
  uten
HTTP	
  Response	
  -­‐	
  Header	
  (cont.)
• E	
  se	
  negli	
  Header	
  possiamo	
  
inserire	
  dei	
  parametri?	
  
• HTTP	
  Response	
  SpliNng	
  
• Open	
  Redirect	
  
• Header	
  Injecon	
  

HTTP Response
Protocol <SP>

Code

<SP>

Explanati
on

<CR> <LF>

Header: Value
<CR> <LF>

Header: Value
<CR> <LF>

Header: Value
<CR> <LF>

<CR> <LF>

Body
HTTP	
  Response	
  -­‐	
  Header	
  (es.)
curl -kisI http://onofri.org
HTTP/1.1 200 OK
Date: Sat, 26 Oct 2013 16:00:00 GMT
Server: Apache
Content-Language: en-US
Content-Location: http://onofri.org/
Content-Script-Type: text/javascript
Content-Style-Type: text/css
Revisit-after: 7 days
Cache-Control: post-check=0, pre-check=0, false, no-store, no-cache, must-revalidate
Pragma: no-cache
Expires: -1
imagetoolbar: false
MSThemeCompatible: no
X-UA-Compatible: IE=7
P3P: CAO DSP AND SO ON
pics-Label: (pics-1.1 "http://www.icra.org/pics/vocabularyv03/" l gen true for "http://
www.siatec.net" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 0) gen true for
"http://www.siatec.net" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 0))
X-XRDS-Location: http://pip.verisignlabs.com/user/simone/yadisxrds
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
Strict-Transport-Security: max-age=0
Vary: Accept-Encoding
Content-Type: text/html;charset=utf-8
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test
HTTP	
  Security	
  Header
Protezione	
  dall’UI	
  Redressing	
  /	
  Click	
  Jacking

X-­‐Frame-­‐Op3ons	
  
solitamente	
  impostato	
  con	
  il	
  valore	
  “DENY”	
  o	
  con	
  valori	
  congrui	
  se	
  
l’applicazione	
  ulizza	
  frame	
  e	
  iframe,	
  evita	
  l’apertura	
  di	
  frame	
  contenen	
  
contenu	
  arbitrari,	
  migando	
  a)achi	
  di	
  po	
  UI	
  Redressing	
  /	
  ClickJacking.	
  	
  
Questo	
  header	
  è	
  stato	
  inizialmente	
  presentato	
  dai	
  vendor	
  ed	
  è	
  pertanto	
  
nel	
  formato	
  X-­‐Frame-­‐Opons.	
  A)ualmente	
  è	
  in	
  un	
  Drau	
  della	
  IETF	
  e	
  
diventerà	
  Frame-­‐Opons.
Protezione	
  accessoria	
  an3-­‐XSS

X-­‐XSS-­‐Protec3on	
  
solitamente	
  impostato	
  con	
  il	
  valore	
  “1;	
  mode=block”	
  specifica	
  al	
  browser	
  
di	
  aNvare	
  le	
  protezioni	
  an-­‐Cross	
  Site	
  Scripng
Protezione	
  accessoria	
  an3-­‐MiTM

Strict-­‐Transport-­‐Security	
  
solitamente	
  impostato	
  con	
  un	
  valore	
  consono	
  “max-­‐age”	
  e	
  ulteriori	
  valori	
  
come	
  includeSubDomains,	
  specifica	
  al	
  browser	
  che	
  è	
  possibile	
  visualizzare	
  
i	
  contenu	
  solamente	
  tramite	
  il	
  protocollo	
  HTTPS,	
  migando	
  a)acchi	
  
Man-­‐In-­‐The-­‐Middle.
Policy	
  per	
  i	
  permessi	
  sui	
  contenu3

Content-­‐Security-­‐Policy	
  
specifica	
  una	
  policy	
  per	
  il	
  browser	
  sul	
  po	
  di	
  contenu	
  	
  permessi	
  all’interno	
  della	
  pagina	
  e	
  la	
  relava	
  
origine.	
  Aiuta	
  ad	
  idenficare	
  e	
  migare	
  una	
  serie	
  di	
  a)acchi	
  come	
  il	
  Cross	
  Site	
  Scripng	
  e	
  il	
  Man-­‐In-­‐
The-­‐Middle.	
  Per	
  esempio	
  una	
  policy	
  che	
  perme)e	
  l’ulizzo	
  di	
  una	
  qualsiasi	
  pologia	
  di	
  contenuto	
  da	
  
tuN	
  i	
  domini	
  so)o	
  example.com	
  è	
  default-­‐src	
  'self'	
  *.onofri.org;	
  .	
  
E’	
  possibile	
  inoltre	
  specificare	
  un	
  indirizzo	
  per	
  la	
  segnalazione	
  di	
  una	
  violazione,	
  supportando	
  
l’idenficazione	
  di	
  eventuali	
  a)acchi	
  di	
  Phishing.	
  Ad	
  esempio	
  per	
  inviare	
  la	
  violazione	
  è	
  possibile	
  
ulizzare	
  report-­‐uri	
  h@ps://onofri.org/report/vioaDon/.	
  E’	
  possibile	
  anche	
  semplicemente	
  monitorare	
  
la	
  policy	
  specificata	
  ulizzando,	
  insieme	
  all’header	
  che	
  stabilisce	
  la	
  policy,	
  Content-­‐Security-­‐Policy-­‐
Report-­‐Only.	
  
Questo	
  header	
  è	
  stato	
  inizialmente	
  presentato	
  dai	
  vendor	
  ed	
  è	
  pertanto	
  nel	
  formato	
  X-­‐Content-­‐
Security-­‐Policy	
  e	
  X-­‐WebKit-­‐CSP.	
  A)ualmente	
  è	
  in	
  un	
  Drau	
  del	
  W3C	
  e	
  diventerà	
  Content-­‐Security-­‐Policy
Policy	
  per	
  l’accesso	
  da	
  parte	
  di	
  si3	
  terzi

Cross	
  Origin	
  Resource	
  Sharing	
  
specifica	
  una	
  policy	
  per	
  il	
  browser	
  sull’accesso	
  alle	
  informazioni	
  tramite	
  richieste	
  
XMLH)pRequest	
  quando	
  queste	
  violerebbero	
  la	
  same-­‐origin-­‐policy.	
  L’header	
  
CORS	
  può	
  essere	
  ulizzato	
  per	
  specificare	
  le	
  poliche	
  relavamente	
  all’accesso	
  
delle	
  informazioni	
  da	
  applicazioni	
  esterne	
  alla	
  same-­‐origin	
  e/o	
  al	
  same-­‐domain.	
  
Una	
  richiesta	
  conene	
  l’header	
  Origin,	
  che	
  specifica	
  l’origine	
  della	
  richiesta.	
  
Il	
  CORS	
  era	
  stato	
  inizialmente	
  pensato	
  per	
  VoiceXML,	
  successivamente	
  è	
  stato	
  
inserito	
  in	
  una	
  raccomandazione	
  a	
  se	
  stante.	
  
Policy	
  per	
  l’accesso	
  da	
  parte	
  di	
  si3	
  terzi	
  (es.)
Header

Significato

Access-­‐Control-­‐Allow-­‐Origin

specifica	
  l’origine	
  permessa

Access-­‐Control-­‐Allow-­‐CredenDals

specifica	
  quando	
  è	
  possibile	
  esporre	
  le	
  credenziali

Access-­‐Control-­‐Expose-­‐Headers

specifica	
  quali	
  sono	
  gli	
  header	
  che	
  è	
  possibile	
  esporre	
  alla	
  API	
  CORS

Access-­‐Control-­‐Max-­‐Age

specifica	
  la	
  durata	
  massima	
  della	
  cache,	
  come,	
  1728000

Access-­‐Control-­‐Allow-­‐Methods

specifica	
  i	
  metodi	
  permessi,	
  come	
  POST,	
  GET,	
  OPTIONS

Access-­‐Control-­‐Allow-­‐Headers

specifica	
  la	
  possibilità	
  di	
  ulizzo	
  di	
  alcuni	
  header	
  personalizza,	
  come	
  X-­‐
Customheader

Access-­‐Control-­‐Request-­‐Method

specifica	
  quali	
  metodi	
  possono	
  essere	
  ulizza	
  per	
  la	
  richiesta

Access-­‐Control-­‐Request-­‐Headers	
  

quali	
  header	
  possono	
  essere	
  ulizza	
  per	
  la	
  richiesta
Protezioni	
  accessorie	
  per	
  Internet	
  Explorer

X-­‐Content-­‐Type-­‐Op3ons	
  
solitamente	
  impostato	
  con	
  il	
  valore	
  “nosniff”	
  specifica	
  al	
  browser	
  di	
  usare	
  il	
  mime	
  type	
  definito	
  senza	
  
eseguire	
  l’override.	
  Miga	
  eventuali	
  a)acchi	
  di	
  po	
  Cross	
  Site	
  Scripng	
  all’interno	
  di	
  un	
  file	
  JSON.	
  E’	
  
supportato	
  solo	
  da	
  Internet	
  Explorer.	
  

X-­‐Download-­‐Op3ons	
  
solitamente	
  impostato	
  con	
  il	
  valore	
  “noopen”	
  non	
  perme)e	
  l’apertura	
  di	
  file	
  –	
  come	
  ad	
  esempio	
  dei	
  
PDF	
  –	
  all’interno	
  del	
  browser.	
  Miga	
  eventuali	
  infezioni	
  di	
  file	
  e	
  migliora	
  l’usabilità.	
  E’	
  supportato	
  solo	
  
da	
  Internet	
  Explorer.	


!
Conclusioni
GRAZIE!

;-­‐)

http://onofri.org/
http://twitter.com/simoneonofri
http://it.linkedin.com/simoneonofri
http://slideshare.net/simone.onofri
http://onofri.org/
http://twitter.com/simoneonofri
http://it.linkedin.com/simoneonofri
http://slideshare.net/simone.onofri

DOMANDE

?

Contenu connexe

En vedette

Strumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PAStrumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PASimone Onofri
 
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMMHackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMMSimone Onofri
 
Netiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologieNetiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologieSimone Onofri
 
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWLIntroduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWLSimone Onofri
 
Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...Simone Onofri
 
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Simone Onofri
 
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...Simone Onofri
 
Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011Simone Onofri
 
Il Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web SemanticoIl Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web SemanticoSimone Onofri
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementSimone Onofri
 
Web Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 clickWeb Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 clickSimone Onofri
 
Il Web del Futuro: Enterprise e Web Semantico
Il Web del Futuro: Enterprise e Web SemanticoIl Web del Futuro: Enterprise e Web Semantico
Il Web del Futuro: Enterprise e Web SemanticoSimone Onofri
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementSimone Onofri
 
Il Web Del Futuro Visioni E Idee Sul Web Semantico
Il  Web Del Futuro    Visioni E  Idee Sul  Web  SemanticoIl  Web Del Futuro    Visioni E  Idee Sul  Web  Semantico
Il Web Del Futuro Visioni E Idee Sul Web SemanticoSimone Onofri
 
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Simone Onofri
 
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo  2016 WinterMamma, da grande voglio essere un Penetration Tester HackInBo  2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 WinterSimone Onofri
 
Hackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaHackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaSimone Onofri
 
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Simone Onofri
 
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Simone Onofri
 

En vedette (20)

Strumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PAStrumenti e risorse attuali presenti sul Web utili per la PA
Strumenti e risorse attuali presenti sul Web utili per la PA
 
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMMHackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
Hackers vs developers: progettere le applicazioni mobile tra OWASP e OSSTMM
 
Netiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologieNetiquette e uso ragionato di internet e delle nuove tecnologie
Netiquette e uso ragionato di internet e delle nuove tecnologie
 
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWLIntroduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
Introduzione al Web Semantico: URI, XML, RDF, SPARQL, RDFS, OWL
 
HTML5 Security
HTML5 SecurityHTML5 Security
HTML5 Security
 
Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...Owasp italy day sparql injection attacking triple store semantic web applicat...
Owasp italy day sparql injection attacking triple store semantic web applicat...
 
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
 
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
Il Web del Futuro: RDFa per l organizzazione della conoscenza sul web - Web S...
 
Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011Anonymous for fun and profit - e-privacy 2011
Anonymous for fun and profit - e-privacy 2011
 
Il Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web SemanticoIl Web del Futuro - Progettare applicazioni con il Web Semantico
Il Web del Futuro - Progettare applicazioni con il Web Semantico
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
Web Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 clickWeb Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 click
 
Il Web del Futuro: Enterprise e Web Semantico
Il Web del Futuro: Enterprise e Web SemanticoIl Web del Futuro: Enterprise e Web Semantico
Il Web del Futuro: Enterprise e Web Semantico
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
 
Il Web Del Futuro Visioni E Idee Sul Web Semantico
Il  Web Del Futuro    Visioni E  Idee Sul  Web  SemanticoIl  Web Del Futuro    Visioni E  Idee Sul  Web  Semantico
Il Web Del Futuro Visioni E Idee Sul Web Semantico
 
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
Hackers vs Developers: vulnerabilità e soluzioni nello sviluppo di applicazio...
 
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo  2016 WinterMamma, da grande voglio essere un Penetration Tester HackInBo  2016 Winter
Mamma, da grande voglio essere un Penetration Tester HackInBo 2016 Winter
 
Hackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e DifesaHackers vs Developers - SQL Injection - Attacco e Difesa
Hackers vs Developers - SQL Injection - Attacco e Difesa
 
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
 
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
Project management: Gestire progetto web con Agilità (con DSDM, Agile Project...
 

Similaire à Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test

Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaHackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaSimone Onofri
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Webextrategy
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileI.S.I.S. "Antonio Serra" - Napoli
 
Introduzione a Internet
Introduzione a InternetIntroduzione a Internet
Introduzione a Internetdadahtml
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Aumentiamo la sicurezza in TYPO3
Aumentiamo la sicurezza in TYPO3Aumentiamo la sicurezza in TYPO3
Aumentiamo la sicurezza in TYPO3Mauro Lorenzutti
 
[ITA] Introduzione ai web services: SOAP, WSDL, UDDI
[ITA] Introduzione ai web services: SOAP, WSDL, UDDI[ITA] Introduzione ai web services: SOAP, WSDL, UDDI
[ITA] Introduzione ai web services: SOAP, WSDL, UDDIMarco Brambilla
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleMarco Breveglieri
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHPextrategy
 
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Stefano Bianchini
 

Similaire à Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test (20)

Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesaHackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
Hackers vs Developers - Cross Site Scripting (XSS) Attacco e difesa
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Web
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
 
Introduzione a Internet
Introduzione a InternetIntroduzione a Internet
Introduzione a Internet
 
Net core base
Net core baseNet core base
Net core base
 
World wide web
World wide webWorld wide web
World wide web
 
EIP with Apache Camel
EIP with Apache CamelEIP with Apache Camel
EIP with Apache Camel
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Lamp Ld2008
Lamp Ld2008Lamp Ld2008
Lamp Ld2008
 
Aumentiamo la sicurezza in TYPO3
Aumentiamo la sicurezza in TYPO3Aumentiamo la sicurezza in TYPO3
Aumentiamo la sicurezza in TYPO3
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
[ITA] Introduzione ai web services: SOAP, WSDL, UDDI
[ITA] Introduzione ai web services: SOAP, WSDL, UDDI[ITA] Introduzione ai web services: SOAP, WSDL, UDDI
[ITA] Introduzione ai web services: SOAP, WSDL, UDDI
 
Java lezione 14
Java lezione 14Java lezione 14
Java lezione 14
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHP
 
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
 
Cesvip 20110127
Cesvip 20110127Cesvip 20110127
Cesvip 20110127
 

Plus de Simone Onofri

Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Simone Onofri
 
Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Simone Onofri
 
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts  a deep dive after ~9 years of deploymentAttacking Ethereum Smart Contracts  a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deploymentSimone Onofri
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneSimone Onofri
 
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Simone Onofri
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project FrameworkSimone Onofri
 
Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Simone Onofri
 
Security Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySecurity Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySimone Onofri
 
Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Simone Onofri
 
Cyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTCyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTSimone Onofri
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesSimone Onofri
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...Simone Onofri
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean ManagementSimone Onofri
 
Nuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiNuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiSimone Onofri
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanSimone Onofri
 
Agile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessAgile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessSimone Onofri
 
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...Simone Onofri
 
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU -  Intuition, Hacking e Nuove TecnologieTEDX TorVergataU -  Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU - Intuition, Hacking e Nuove TecnologieSimone Onofri
 
Meetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriMeetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriSimone Onofri
 

Plus de Simone Onofri (20)

Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
 
Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
 
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts  a deep dive after ~9 years of deploymentAttacking Ethereum Smart Contracts  a deep dive after ~9 years of deployment
Attacking Ethereum Smart Contracts a deep dive after ~9 years of deployment
 
Agile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazioneAgile Lean Conference 2017 - Leadership e facilitazione
Agile Lean Conference 2017 - Leadership e facilitazione
 
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
Agile Business Consortium - LEGO SERIOUS PLAY e i Principi di Agile Project M...
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project Framework
 
Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)Agile nei servizi di cyber security (Security Summit Edition)
Agile nei servizi di cyber security (Security Summit Edition)
 
Security Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber SecuritySecurity Project Management - Agile nei servizi di Cyber Security
Security Project Management - Agile nei servizi di Cyber Security
 
Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days Cyber Defense - How to find and manage zero-days
Cyber Defense - How to find and manage zero-days
 
Cyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APTCyber Defense - How to be prepared to APT
Cyber Defense - How to be prepared to APT
 
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practicesISACA - Gestire progetti di Ethical Hacking secondo le best practices
ISACA - Gestire progetti di Ethical Hacking secondo le best practices
 
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...OWASP AppSec EU 2016 - Security Project Management -  How to be Agile in Secu...
OWASP AppSec EU 2016 - Security Project Management - How to be Agile in Secu...
 
ORM Injection
ORM InjectionORM Injection
ORM Injection
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean Management
 
Nuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersiNuove minacce nella Cyber Security, come proteggersi
Nuove minacce nella Cyber Security, come proteggersi
 
Agile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e KanbanAgile Lean Management - MoSCoW, Timeboxing e Kanban
Agile Lean Management - MoSCoW, Timeboxing e Kanban
 
Agile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & BusinessAgile lean conference - Agile, Lean & Business
Agile lean conference - Agile, Lean & Business
 
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...IPMA 2014 World Congress -  Stakeholder Engagement between Traditional and Ag...
IPMA 2014 World Congress - Stakeholder Engagement between Traditional and Ag...
 
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU -  Intuition, Hacking e Nuove TecnologieTEDX TorVergataU -  Intuition, Hacking e Nuove Tecnologie
TEDX TorVergataU - Intuition, Hacking e Nuove Tecnologie
 
Meetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofriMeetmagento 2014 hackers_onofri
Meetmagento 2014 hackers_onofri
 

Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Application Penetration Test

  • 1. Gli  HTTP  Security  Header  e  altri  elemen3  da  sapere   su  HTTP  in  un  Web  Applica3on  Penetra3on  Test Linux  Day  2013   Roma,  26  o)obre  2013   Simone  Onofri
  • 6. Agenda Introduzione   ! Come  si  sono  evolute  le  minacce…   …e  il  perchè  degli  HTTP  Security  Headers?   ! HTTP  Request  e  HTTP  Response   ! Gli  HTTP  Security  Header   ! Conclusioni
  • 7. Come  si  sono  evolute  le  minacce  nel  tempo  e  perchè   sono  importan3  gli  HTTP  Header
  • 11. HTTP  Request  e  HTTP  Response
  • 12. HTTP  Request  e  Response HTTP Request Method <SP> URI <SP> Protocol HTTP Response Protocol <SP> Code <SP> <CR> <LF> <CR> <LF> Header: Value Header: Value <CR> <LF> <CR> <LF> Header: Value Header: Value <CR> <LF> <CR> <LF> Header: Value Explanati on Header: Value <CR> <LF> <CR> <LF> Body <CR> <LF> <CR> <LF> Body
  • 13. HTTP  Request  -­‐  Method • Quali  sono  i  metodi  che  l’applicazione/il  web  server  acce)ano?  Quali   sono  correN?  HTTP  Verb  Exploit  /  Tampering   • GET   • POST   • PUT  (operazioni  sui  file)   • DELETE  (operazioni  sui  file)   • TRACE  (rifle)ere  parametri)   • CONNECT  (usare  l’host  come  proxy)   • ANTANI  (???)   • Come  lo  verifico?   curl -kis -X METHOD -v http://onofri.org/
  • 14. HTTP  Request  -­‐  Method  (es.) TRACE / HTTP/1.1 Connection: Close Host: 127.0.0.1 Pragma: no-cache ! <script>alert(1)</script> ! ! HTTP/1.1 200 OK Date: Tue, 05 Apr 2011 18:37:20 GMT Server: Apache/2.2.8 (Ubuntu) Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: message/http ! TRACE / HTTP/1.1 Connection: Keep-Alive Host: 127.0.0.1 Pragma: no-cache ! <script>alert(1)</script>
  • 15. HTTP  Request  -­‐  URI • Al  ne)o  della  Data  Validaon  come  la  conosciamo,  un  aspe)o   interessante  a  livello  più  basso  è  come  i  parametri  possono  essere   intepreta.  Possono  essere  inquina,  per  bypassare  dei  filtri  o  altro?  Si   con  la  HTTP  Parameter  Pollu3on.   • Come  lo  verifico?   curl -kis http://onofri.org/path.php? parametro=valore1&parametro=valore2
  • 16. HTTP  Request  -­‐  URI  (es.) Web  Applica3on  Server   Cosa  viene  processato? ASP.NET  /  IIS Tu)e  le  occorrenze,  concatenate  da  una  virgola ASP  /  IIS Tu)e  le  occorrenze,  concatenate  da  una  virgola PHP  /  Apache L’ulma  occorrenza PHP  /  Zeus L’ulma  occorrenza JSP  /  Servlet  /  Tomcat La  prima  occorrenza JSP  /  Servlet  /  Oracle  AS  10g L’ulma  occorrenza JSP  /  Servlet  /  Je)y L’ulma  occorrenza IBM  Lotus  Domino L’ulma  occorrenza IBM  HTTP  Server   La  prima  occorrenza mod_perl  /  libpareq2  /  Apache La  prima  occorrenza Perl  CGI  /  Apache La  prima  occorrenza mod_wsgi  (Python)  /  Apache La  prima  occorrenza Python  /  Zope Tu)e  le  occorrenze  se  le  meNamo  come  lista  param=[‘valore1’,  ‘valore2’]
  • 17. HTTP  Request  -­‐  Version • A)ualmente  ulizziamo  il  protocollo  HTTP  nelle  sue  due  versioni.  HTTP/ 1.0  e  HTTP/1.1.  e  sta  per  uscire  HTTP/2.0   • Tra  le  differenze  principali  che  ci  possono  interessare  è  la  presenza  di   vhost   ! • Come  lo  verifico?   curl -kis —http1.0 -H “Host: onofri.org” http:// 67.222.36.105 curl -kis —http1.1 -H “Host: onofri.org” http:// 67.222.36.105
  • 18. HTTP  Request  -­‐  Header • Nonostante  nei  browser  non  vediamo  gli  header,  anche  solo  l’invio  di   ques  può  modificare  completamente  il  comportamento  del  server  e/o   dell’applicazione.   • Cookie  (Data  Validaon)   • Authorizaon  (Basic  Authencaon)   • Host  (già  visto)   • Origin  (lo  vediamo  dopo)   • Upgrade  (cambio  di  protocollo)   • Via  (Data  Validaon,  Non  Repudiaon)   • User-­‐Agent  (Data  Validaon)   • Referer  (Data  Validaon,  Autorizzazione)   • Inoltre  possiamo  ulizzare  diversi  a)acchi  manipolando  gli  header  anche   per  quesoni  di  DoS  (es.  Slowloris)  
  • 19. HTTP  Request  -­‐  Header  (es.) curl -kis -A "<script>alert(1)</script>" http://onofri.org/ ! curl -kis -H "Via: 127.0.0.1" http://onofri.org/ ! curl -kis -H "Referer: http://onofri.org/admin/index.php” http://onofri.org/admin/index.php? function=adduser&user=hacker&password=hacker
  • 20. HTTP  Response  -­‐  Protocol  /  Code  /  Explana3on • Possiamo  capire  come  ci  risponde  il  server  a  livello  di  protocollo  e  codice   (parcolarmente  ule  se  manipoliamo  l’header)   • Da  qui  possiamo  o)enere  molte  informazioni  sui  codici  di  errore  per   capire  come  si  stru)ura  l’applicazione  (es.  se  usa  dei  redirect,  pagine   404  personalizzate…)
  • 32. HTTP  Response  -­‐  Header • Gli  Header  sono  una  fonte  molto  interessante  e  importante  di   informazioni   • Policy  relave  al  caching  e  alla  durata  della  pagina  (es.  Pragma,   Cache-­‐Control)   • Policy  per  l’accesso  alle  informazioni  (es.  Content-­‐Type)   • Codifica   • Set-­‐Cookie  (HTTPOnly,  Secure,  Path,  Domain,  Expire,  Max-­‐Age)   • Possono  rilasciare  informazioni  (es.  Server,  X-­‐Powered-­‐By,   Alternates…)   • Possono  essere  usa  per  proteggere  gli  uten
  • 33. HTTP  Response  -­‐  Header  (cont.) • E  se  negli  Header  possiamo   inserire  dei  parametri?   • HTTP  Response  SpliNng   • Open  Redirect   • Header  Injecon   HTTP Response Protocol <SP> Code <SP> Explanati on <CR> <LF> Header: Value <CR> <LF> Header: Value <CR> <LF> Header: Value <CR> <LF> <CR> <LF> Body
  • 34. HTTP  Response  -­‐  Header  (es.) curl -kisI http://onofri.org HTTP/1.1 200 OK Date: Sat, 26 Oct 2013 16:00:00 GMT Server: Apache Content-Language: en-US Content-Location: http://onofri.org/ Content-Script-Type: text/javascript Content-Style-Type: text/css Revisit-after: 7 days Cache-Control: post-check=0, pre-check=0, false, no-store, no-cache, must-revalidate Pragma: no-cache Expires: -1 imagetoolbar: false MSThemeCompatible: no X-UA-Compatible: IE=7 P3P: CAO DSP AND SO ON pics-Label: (pics-1.1 "http://www.icra.org/pics/vocabularyv03/" l gen true for "http:// www.siatec.net" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 0) gen true for "http://www.siatec.net" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 0)) X-XRDS-Location: http://pip.verisignlabs.com/user/simone/yadisxrds X-Content-Type-Options: nosniff X-Download-Options: noopen X-XSS-Protection: 1; mode=block X-Frame-Options: DENY Strict-Transport-Security: max-age=0 Vary: Accept-Encoding Content-Type: text/html;charset=utf-8
  • 37. Protezione  dall’UI  Redressing  /  Click  Jacking X-­‐Frame-­‐Op3ons   solitamente  impostato  con  il  valore  “DENY”  o  con  valori  congrui  se   l’applicazione  ulizza  frame  e  iframe,  evita  l’apertura  di  frame  contenen   contenu  arbitrari,  migando  a)achi  di  po  UI  Redressing  /  ClickJacking.     Questo  header  è  stato  inizialmente  presentato  dai  vendor  ed  è  pertanto   nel  formato  X-­‐Frame-­‐Opons.  A)ualmente  è  in  un  Drau  della  IETF  e   diventerà  Frame-­‐Opons.
  • 38. Protezione  accessoria  an3-­‐XSS X-­‐XSS-­‐Protec3on   solitamente  impostato  con  il  valore  “1;  mode=block”  specifica  al  browser   di  aNvare  le  protezioni  an-­‐Cross  Site  Scripng
  • 39. Protezione  accessoria  an3-­‐MiTM Strict-­‐Transport-­‐Security   solitamente  impostato  con  un  valore  consono  “max-­‐age”  e  ulteriori  valori   come  includeSubDomains,  specifica  al  browser  che  è  possibile  visualizzare   i  contenu  solamente  tramite  il  protocollo  HTTPS,  migando  a)acchi   Man-­‐In-­‐The-­‐Middle.
  • 40. Policy  per  i  permessi  sui  contenu3 Content-­‐Security-­‐Policy   specifica  una  policy  per  il  browser  sul  po  di  contenu    permessi  all’interno  della  pagina  e  la  relava   origine.  Aiuta  ad  idenficare  e  migare  una  serie  di  a)acchi  come  il  Cross  Site  Scripng  e  il  Man-­‐In-­‐ The-­‐Middle.  Per  esempio  una  policy  che  perme)e  l’ulizzo  di  una  qualsiasi  pologia  di  contenuto  da   tuN  i  domini  so)o  example.com  è  default-­‐src  'self'  *.onofri.org;  .   E’  possibile  inoltre  specificare  un  indirizzo  per  la  segnalazione  di  una  violazione,  supportando   l’idenficazione  di  eventuali  a)acchi  di  Phishing.  Ad  esempio  per  inviare  la  violazione  è  possibile   ulizzare  report-­‐uri  h@ps://onofri.org/report/vioaDon/.  E’  possibile  anche  semplicemente  monitorare   la  policy  specificata  ulizzando,  insieme  all’header  che  stabilisce  la  policy,  Content-­‐Security-­‐Policy-­‐ Report-­‐Only.   Questo  header  è  stato  inizialmente  presentato  dai  vendor  ed  è  pertanto  nel  formato  X-­‐Content-­‐ Security-­‐Policy  e  X-­‐WebKit-­‐CSP.  A)ualmente  è  in  un  Drau  del  W3C  e  diventerà  Content-­‐Security-­‐Policy
  • 41. Policy  per  l’accesso  da  parte  di  si3  terzi Cross  Origin  Resource  Sharing   specifica  una  policy  per  il  browser  sull’accesso  alle  informazioni  tramite  richieste   XMLH)pRequest  quando  queste  violerebbero  la  same-­‐origin-­‐policy.  L’header   CORS  può  essere  ulizzato  per  specificare  le  poliche  relavamente  all’accesso   delle  informazioni  da  applicazioni  esterne  alla  same-­‐origin  e/o  al  same-­‐domain.   Una  richiesta  conene  l’header  Origin,  che  specifica  l’origine  della  richiesta.   Il  CORS  era  stato  inizialmente  pensato  per  VoiceXML,  successivamente  è  stato   inserito  in  una  raccomandazione  a  se  stante.  
  • 42. Policy  per  l’accesso  da  parte  di  si3  terzi  (es.) Header Significato Access-­‐Control-­‐Allow-­‐Origin specifica  l’origine  permessa Access-­‐Control-­‐Allow-­‐CredenDals specifica  quando  è  possibile  esporre  le  credenziali Access-­‐Control-­‐Expose-­‐Headers specifica  quali  sono  gli  header  che  è  possibile  esporre  alla  API  CORS Access-­‐Control-­‐Max-­‐Age specifica  la  durata  massima  della  cache,  come,  1728000 Access-­‐Control-­‐Allow-­‐Methods specifica  i  metodi  permessi,  come  POST,  GET,  OPTIONS Access-­‐Control-­‐Allow-­‐Headers specifica  la  possibilità  di  ulizzo  di  alcuni  header  personalizza,  come  X-­‐ Customheader Access-­‐Control-­‐Request-­‐Method specifica  quali  metodi  possono  essere  ulizza  per  la  richiesta Access-­‐Control-­‐Request-­‐Headers   quali  header  possono  essere  ulizza  per  la  richiesta
  • 43. Protezioni  accessorie  per  Internet  Explorer X-­‐Content-­‐Type-­‐Op3ons   solitamente  impostato  con  il  valore  “nosniff”  specifica  al  browser  di  usare  il  mime  type  definito  senza   eseguire  l’override.  Miga  eventuali  a)acchi  di  po  Cross  Site  Scripng  all’interno  di  un  file  JSON.  E’   supportato  solo  da  Internet  Explorer.   X-­‐Download-­‐Op3ons   solitamente  impostato  con  il  valore  “noopen”  non  perme)e  l’apertura  di  file  –  come  ad  esempio  dei   PDF  –  all’interno  del  browser.  Miga  eventuali  infezioni  di  file  e  migliora  l’usabilità.  E’  supportato  solo   da  Internet  Explorer. !