explication de la faille du figaro

17
mercredi 18 juillet 2012

Upload: lanetscouade

Post on 18-Nov-2014

581 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Explication de la faille du Figaro

mercredi 18 juillet 2012

Page 2: Explication de la faille du Figaro

Faille de sécurité Mon figaro

mercredi 18 juillet 2012

Page 3: Explication de la faille du Figaro

Mon figaro - reserve au abonnésDrupal 6 powered

Faille de sécurité Mon figaro

mercredi 18 juillet 2012

Page 4: Explication de la faille du Figaro

CMS Drupal

mercredi 18 juillet 2012

Page 5: Explication de la faille du Figaro

CMS DrupalOver 10 years of developmentHundreds of thousands of sites

Millions of downloadsOver 5000 contributed modules

881,780 people in 228 countriesspeaking 181 languages power Drupal

mercredi 18 juillet 2012

Page 6: Explication de la faille du Figaro

CMS DrupalOver 10 years of developmentHundreds of thousands of sites

Millions of downloadsOver 5000 contributed modules

881,780 people in 228 countriesspeaking 181 languages power Drupal

mercredi 18 juillet 2012

Page 7: Explication de la faille du Figaro

Who use DrupalAl Jazeera

AT&TBob Dylan - Britney Spears - M. Jackson

LinkedIn

London.gov.ukPaypal

Twitter

whitehouse.gov

lanetscouade

Cern

mercredi 18 juillet 2012

Page 8: Explication de la faille du Figaro

Faille de sécurité Mon Figaro : les explications techniques

http://figaro.fr?login=xinhui&commentaire_password=xxxx&page=1

Indexed by google

Korben

mercredi 18 juillet 2012

Page 9: Explication de la faille du Figaro

Explications techniques

Données GET : Transite en claire dans l’url

http://lanetscouade.com?search=drupal&page=2

Données POST : Invisible

mercredi 18 juillet 2012

Page 10: Explication de la faille du Figaro

Faille du «Pager» de Drupal

http://lanetscouade.com?search=drupal&page=1

http://lanetscouade.com?search=drupal&page=2

http://lanetscouade.com?search=drupal&page=3

pager_get_querystring()

$_REQUEST contient $_GET & $_POST

mercredi 18 juillet 2012

Page 11: Explication de la faille du Figaro

pager_get_querystring() recupe les données post via $_REQUEST

Step 2 :Traitement du formulaire & affichage de la page

Step 1 : Envoie des données post

http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=1

http://lanetscouade.com?search=drupal&page=1

http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=2http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=3

Mon figaro

mercredi 18 juillet 2012

Page 12: Explication de la faille du Figaro

Cache & google indexation

http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=1http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=2http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=3

User Request page

Check if content exists in cache

Yes no

return cached content build content - build cache return content

mercredi 18 juillet 2012

Page 13: Explication de la faille du Figaro

pager_get_querystring()

Patched on july 2009

mercredi 18 juillet 2012

Page 14: Explication de la faille du Figaro

Step 2 :drupal_process_form() & drupal_redirect_form()

Step 1 : Envoie des données post

http://lanetscouade.com?search=drupal&page=1

http://lanetscouade.com?search=drupal&page=1

The Drupal way of handling forms

Step 3 : Affichage de la page

mercredi 18 juillet 2012

Page 15: Explication de la faille du Figaro

Erreurs du figaro

Custom formpassword field name

mercredi 18 juillet 2012

Page 16: Explication de la faille du Figaro

Reactions sur twitter

mercredi 18 juillet 2012

Page 17: Explication de la faille du Figaro

Conclusion

mercredi 18 juillet 2012