Quand une donnée devient du SQL
Une injection SQL apparaît lorsque des entrées participent à la construction du code SQL au lieu de rester des valeurs. Comprendre AND, OR et les délimiteurs de chaînes aide à lire le problème. Sur papier, une condition fausse OR vraie est vraie ; une condition fausse AND vraie est fausse. Ce raisonnement n’implique pas qu’un formulaire réel soit vulnérable. Des paramètres liés dans une requête préparée conservent la séparation entre instruction et valeur.
Quand du texte devient du HTML
Une XSS concerne l’interprétation de contenu non fiable dans le navigateur. Observe d’abord si une chaîne est affichée comme texte ou insérée comme balisage, puis identifie son contexte : texte HTML, attribut, URL ou JavaScript. L’échappement dépend de ce contexte. La démonstration inerte suivante illustre uniquement la différence d’affichage.
Entrée : <strong>bonjour</strong>
Affichage comme texte : les chevrons et balises restent visibles.
Interprétation HTML : bonjour apparaît en gras.Interpréter une balise ne prouve pas à lui seul qu’un script peut s’exécuter. Il faut distinguer injection HTML et exécution de JavaScript. Ici, aucun code n’est exécuté.
Quand un chemin sort de son dossier
La séquence .. remonte au dossier parent. Depuis /atelier/public, ../notes.txt désigne /atelier/notes.txt. Si un serveur accepte un nom de fichier utilisateur, il doit contrôler le chemin final et les droits, pas seulement rechercher une chaîne suspecte. Le même principe de séparation vaut pour le shell : évite de construire une commande système en concaténant des entrées.
Vérifie que tu as compris.
3 questions pour mettre les idées en pratique. Réponds avec tes mots, puis vérifie chaque réponse.
La correction repère les notions attendues et certaines formulations proches. Elle reste indicative : lis aussi l’explication. Tes réponses restent dans cette page et ne sont pas enregistrées.