TP Sécurité
Objectifs
- Utiliser l'outil de développement de votre navigateur web pour voir et modifier le code HTML et JavaScript
- Comprendre le principe de l'injection SQL
- Comprendre le principe du Cross-site scripting (XSS)
Exercices
Outils de développement
L'outils de développement est intégré dans les navigateurs Web et permet de voir et modifier le code HTML, CSS et JavaScript des pages web.

- Ouvrir un navigateur Web (Firefox ou Chrome).
- Ouvrir les outils de développement :
- Clic droit sur la page Web > Inspecter
- Ou F12
- Ou sous MacOS : Cmd + Option + I
- Ou sous Windows/Linux : Ctrl + Shift + I
- Explorer les différents panneaux qui seront utiles pour les exercices :
- Inspecteur/Elements pour voir et modifier dans les codes HTML et CSS de la page.
- Réseau pour voir et modifier les requêtes HTTP effectuées par votre navigateur.
- Application ou Stockage pour voir et modifier les cookies et le cache de votre navigateur.
Code source
Trouver le mot de passe sur HTML - Code source (cliquer sur le lien).
Indice 1
Utiliser les outils de développement de la page. Regarder le code HTML de la page.Indice 2
Validation :
Mot de passe faible
Se connecter sur Mot de passe faible.
Indice 1
Il y a habituellement un utilisateur Le mot de passe est faible, il est donc possible de le deviner. Et si le mot de passe était le même que le nom d'utilisateur ?admin dans les applications web.Indice 2
Indice 3
Validation :
HTTP - Bouton désactivé
Se connecter sur HTTP - Bouton désactivé.
Indice 1
Le code HTML est exécuté par votre navigateur, il est donc possible de le modifier en affichant le code HTML de la page. L'attribut En double-cliquant sur le code du bouton, il est possible de supprimer l'attribut On peut mettre n'importe quel nom d'utilisateur.Indice 2
disabled est utilisé pour désactiver un élément HTML.Indice 3
disabled.Indice 4
Validation :
Javascript - Source
Trouver le mot de passe sur Javascript - Source.
Indice 1
Regarder le code HTML de la page. On peut ouvrir les balises en cliquant sur ►. Le code JavaScript est dans le Quelle comparaison est faite avec la variable Indice 2
head de la page HTML.Indice 3
pass ?
Validation :
Javascript - Authentification
Se connecter sur Javascript - Authentification.
Indice 1
Le code JavaScript est dans un fichier externe. Ajouter le chemin dans l'URL. Le fichier est Indice 2
login.js, donc l'URL complète est : http://challenge01.root-me.org/web-client/ch9/login.js.
Validation :
Javascript - Obfuscation 1
Trouver le mot de passe sur Javascript - Obfuscation 1.
Indice 1
Regarder le code JavaScript de la page. L'Encodage-pourcent est souvent utilisé pour mettre des caractères spéciaux dans les URL.Indice 2
Indice 3
Validation :
HTTP - Structure des répertoires
Trouver le mot de passe sur HTTP - Structure des répertoires.
Indice 1
Un fichier html est inclus d'après le code source de la page. Ajouter le chemin dans l'URL. Le fichier inclus est Naviguer dans les répertoires en commençant par Indice 2
admin/pass.html. Le chemin est donc http://challenge01.root-me.org/web-serveur/ch4/admin/pass.htmlIndice 3
admin/ en enlevant pass.html.
Validation :
Javascript - Obfuscation 2 (avancé)
Trouver le mot de passe sur Javascript - Obfuscation 2.
Indice 1
On peut exécuter du code JavaScript dans la console des outils de développement. Copier la valeur de la variable Copier le résultat sans les guillemets et le coller dans la console. Répéter l'opération jusqu'à obtenir le mot de passe.Indice 2
pass, la coller dans la console et appuyer sur Enter pour la décoder.Indice 3
Indice 4
Validation :
Javascript - Authentification 2 (avancé)
Se connecter sur Javascript - Authentification 2.
Indice 1
Bien lire le code dans le fichier JavaScript externe. La fonction Que vaut la variable Indice 2
.split(":") sépare une chaîne de caractères en plusieurs parties en utilisant le caractère : comme séparateur.
Par exemple, la chaîne "user:password".split(":") devient un tableau avec deux éléments : ["user", "password"].Indice 3
ThePassword ?
Validation :
HTTP - Cookies (avancé)
Trouver le mot de passe sur HTTP - Cookies.
Validation :
HTTP - User-agent (avancé)
Trouver le mot de passe sur HTTP - User-agent
Indice 1
Pour modifier le user-agent de votre navigateur web : https://developer.chrome.com/docs/devtools/device-mode/override-user-agent?hl=fr
Validation :
Autres attaques courantes
Injection SQL
https://www.hacksplaining.com/exercises/sql-injection

Cross-site scripting (XSS)
https://www.hacksplaining.com/exercises/xss-stored
Autres
https://www.hacksplaining.com/lessons
Références
- https://developer.mozilla.org/fr/docs/Learn_web_development/Howto/Tools_and_setup/What_are_browser_developer_tools
- https://developer.chrome.com/docs/devtools/overview?hl=fr
- https://www.root-me.org
- https://www.hacksplaining.com/lessons