5. CMS Drupal
Over 10 years of development
Hundreds of thousands of sites
Millions of downloads
Over 5000 contributed modules
881,780 people in 228 countries
speaking 181 languages power Drupal
mercredi 18 juillet 2012
6. CMS Drupal
Over 10 years of development
Hundreds of thousands of sites
Millions of downloads
Over 5000 contributed modules
881,780 people in 228 countries
speaking 181 languages power Drupal
mercredi 18 juillet 2012
7. Who use Drupal
Al Jazeera
AT&T
Bob Dylan - Britney Spears - M. Jackson
LinkedIn
whitehouse.gov
London.gov.uk
Paypal
Cern
Twitter
lanetscouade
mercredi 18 juillet 2012
8. 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
9. Explications techniques
http://lanetscouade.com?search=drupal&page=2
Données GET : Transite en claire dans l’url
Données POST : Invisible
mercredi 18 juillet 2012
10. 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
11. Mon figaro
http://lanetscouade.com?search=drupal&page=1
Step 1 : Envoie des données post
Step 2 :
Traitement du formulaire & affichage de la page
pager_get_querystring() recupe les données post via $_REQUEST
http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=1
http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=2
http://lanetscouade.com?login=adminadmin&pass=xxxxxx&search=drupal&page=3
mercredi 18 juillet 2012
12. Cache & google indexation
User Request page
Check if content exists in cache
Yes no
return cached content build content - build cache
return content
http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=1
http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=2
http://lanetscouade.com?login=xinhui&pass=xxxxxx&search=drupal&page=3
mercredi 18 juillet 2012
14. The Drupal way of handling forms
http://lanetscouade.com?search=drupal&page=1
Step 1 : Envoie des données post
Step 2 :
drupal_process_form() & drupal_redirect_form()
Step 3 : Affichage de la page
http://lanetscouade.com?search=drupal&page=1
mercredi 18 juillet 2012
15. Erreurs du figaro
Custom form
password field name
mercredi 18 juillet 2012