Seguridad de Aplicaciones Web: los 9 pasos clave para pasar de cero a operativo
Web Application Security : lo esencial en un artículo — código real, diagramas y pasos concretos, extractos de un curso de 45 lecciones.
Tout le monde peut apprendre Web Application Security — à condition de suivre les étapes dans le bon ordre. On a condensé un cours complet de 45 leçons en un parcours clair, avec les extraits de code les plus utiles.
- Introduction et Lab
- OWASP Top 10 et Methodologie
- Injections SQL NoSQL Command
- XSS Cross-Site Scripting
- CSRF SSRF et Server-Side Request
SQL injection classique (UNION, error-based)
Objectifs pédagogiques
- Expliquer pourquoi une SQLi est possible
- Détecter une injection avec un simple guillemet
- Exploiter une UNION-based pour lire d'autres tables
- Utiliser les messages d'erreur (error-based)
- Comprendre la correction définitive : requêtes paramétrées
Pourquoi une injection SQL existe ?
Une SQLi survient quand une entrée utilisateur est concaténée directement dans une requête SQL. Le moteur ne distingue plus le code (la requête) des données (l'entrée). L'attaquant injecte alors du SQL qui sera exécuté.
| Payload | Comportement attendu si vulnérable |
|---|---|
' | Erreur SQL / 500 |
' OR '1'='1 | Bypass d'authentification |
1' AND '1'='2 | Résultat vide (condition fausse) |
1' AND '1'='1 | Résultat normal (condition vraie) |
UNION-based : lire d'autres tables
L'opérateur UNION SELECT permet de coller les résultats d'une seconde requête à la première. Conditions : même nombre de colonnes et types compatibles. On commence par trouver le nombre de colonnes avec ORDER BY.
OK Sécurisé
JWT : alg=none, faiblesses cryptographiques, kid injection
alg=none, secret faible HS256, confusion RS256/HS256, injection via le header kid) et appliquer les bonnes pratiques de validation.Objectifs pédagogiques
- Décoder et comprendre la structure d'un JWT
- Exploiter la faille
alg=none - Casser un secret HS256 faible
- Comprendre la confusion d'algorithme RS256/HS256
- Exploiter une injection via le header
kid
Structure d'un JWT
Un JWT est composé de trois parties encodées en base64url, séparées par des points : header, payload, signature. Le header indique l'algorithme, le payload contient les claims (données), la signature garantit l'intégrité.
| Algorithme | Signature | Vérification |
|---|---|---|
| HS256 | Secret partagé | Même secret |
| RS256 | Clé privée | Clé publique |
| Confusion | Clé publique en HS256 | Le serveur valide à tort |
Faille 4 : injection via kid
Le header kid (key ID) indique quelle clé utiliser. S'il est utilisé sans nettoyage pour lire un fichier ou interroger une base, on peut injecter un chemin (path traversal) ou du SQL.
Burp Suite Community : première prise en main
Objectifs pédagogiques
- Configurer le navigateur pour passer par le proxy Burp
- Installer le certificat CA pour intercepter le HTTPS
- Intercepter, modifier et transmettre une requête
- Rejouer une requête dans le Repeater
- Naviguer dans la sitemap (onglet Target)
Burp Suite, c'est quoi ?
Burp Suite est un proxy d'interception qui se place entre votre navigateur et le serveur web. Tout le trafic passe par lui : vous pouvez le voir, le modifier à la volée et le rejouer. C'est l'outil central de tout pentester web. L'édition Community est gratuite et suffit largement pour apprendre.
Repeater
Rejoue une requête autant de fois que vous voulez, en la modifiant.
Target
Construit la cartographie (sitemap) de l'application visitée.
Configurer le proxy
Par défaut, Burp écoute sur 127.0.0.1:8080. Il faut dire au navigateur d'y envoyer son trafic. La méthode la plus simple est le navigateur intégré de Burp (« Open Browser »), préconfiguré. Sinon, configurez un proxy manuel ou utilisez l'extension FoxyProxy.
Proxy manuel (Firefox)
Premier workflow : intercepter et rejouer
Voici le geste de base que vous répéterez des milliers de fois.
| Étape | Action |
|---|---|
| 1 | Onglet Proxy → Intercept « on » |
| 2 | Naviguer sur la cible (ex : DVWA login) |
| 3 | La requête est capturée — lisez-la, modifiez-la |
| 4 | Clic droit → « Send to Repeater » |
| 5 | Dans Repeater, changez un paramètre, cliquez « Send » |
Exemple : modifier un paramètre dans Repeater
Cet article couvre les extraits les plus utiles — le cours complet Web Application Security (11 chapitres, 45 leçons, exercices corrigés et projet final) t'emmène jusqu'au bout.
./acceder-au-cours-complet cours gratuit : Maîtriser Claude CodeFAQ
Combien de temps pour apprendre Web Application Security ?
Faut-il des prérequis ?
Par où commencer concrètement ?
📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.