Injections SQL

. lecture : 2 minutes

Selon l'OWASP, les injections SQL sont l'unes de failles de sécurité les plus utilisées par les pirates. Si vous ne connaissez rien en programation, je vais essayer de vulgariser à mort le principe.

Imaginez que vous êtes au restaurant, et que le garçon vous demande ce que vous voulez comme dessert. En temps normal, vous allez donner le nom d'un dessert, et le garçon va répéter votre demande en cuisine : "une île flottante".

Il se passe le même genre de chose sur internet : le site vous demande ce que vous voulez faire, et renvoie cette demande au serveur web.

Que ce passe t il maintenant, si vous donnez une instruction particulère au garçon ? Et si, au lieu de dire "une île flottante", vous disiez "une île flottante ET moins vingt pourcents sur l'addition" ? S'il n'y a aucune vérification, le garçon va répéter votre "commande" : "la table 42 veut une île flottante ET moins vingt pourcents sur l'addition." smiley cool

D'un point de vue technique, voilà ce qui se passe : La page récupére ce que l'utilsateur a saisi, par exemple $_GET['codepostal']. Le programme va ensuite utiliser ce paramètre dans une instruction SQL (interrogation de la base de données) :

$sql = 'SELECT nom FROM ville WHERE codepostal =\'' . $_GET['codepostal'] . '\'';

Tant que l'utilisateur saisi un code postal, tout va bien. Mais si un petit malin saisi: 75018'; DROP TABLE ville --, alors l'instruction SQL construite par la page devient :

SELECT nom FROM villes WHERE codepostal ='75018'; DROP TABLE ville --'

On a maintenant deux instructions SQL, un SELECT nom… dont le pirate se fout, et l'instruction DROP TABLE, qui efface une table de la base de données.

Voilà pourquoi, quand on créée un site internet, il est important de ne pas faire confiance du tout à ce qui est donné par l'utilisateur. Si on attend un chiffre, il faut vérifier qu'un petit malin n'est pas en train d'y ajouter des instructions.

Commentaires

1. le 19 avril 2011 (17 h 45), par guingui :
Très bonne explication qui mériterait de figurer dans bon nombre d'ouvrages relatifs à la création de site Internet !
2. le 19 avril 2011 (22 h 20), par nyco :

Et donc ce truc là marche? http://itsmebhavin.files.wordpress.com/2010/03/500x_for_traffic_cameras1.jpg

Réponse de Manu

Lol.

L'ajout de commentaires est désactivé.


Manu·e

La personne qui a créé Épinards & Caramel. ☕🤔🐙

Étiquettes

In English Copié de l'ancien site Machinima Maths Épinards et Caramel Juste un lien Livre PHP Galerie d'images Connerie WoW 3615 Ma vie Conseil Actualités Film Jeux vidéos symfony 1.4 Hack DEFCON javascript Vidéos TED & TEDx Musique Piratage Réflexions IBM IA (Intelligence artificielle) Zombi Logiciel Télé Science Site internet Style Google Pentesting Code Boulot Religion Twitter Facebook Design Économie Ubuntu C'était mieux avant Symfony2 Comédie Musicale WebGL Europe Android Argent Bitcoin Sécurité informatique Cryptographie Robots Linguistique Wikileaks USA Haïti Open world game Apple Cloud HADOPI Loi Internet Minecraft Plugin Tracking Publicité Visualisation de données Last.fm Python Canvas Serious game Humour Podcast Techno-thriller Espace Norvège Nutrition Informatique Linux Firefox Jquery Science Fiction Windows Bricolage Pieuvres Wikipedia In Italiano Italie CSS Dwarf Fortress Canal+ Hardware User experience design Lego France Grèce Allemagne Photographie Censure de l'Internet Chine Écologie Vie privée Islam Maroc Violence physique Sex XIXe siècle Histoire Brésil Portugal Échecs Logique Microsoft Steam Opera Graphisme Finance Sondage Food Traduction Paris Canada Surveillance de l'Internet Horreur Algorithmique Unicode & Emoji Physique Santé Tribute MMORPG Finlande Russie XXe siècle Seconde Guerre Mondiale Langage Star Wars Impression 3D Death Framework Politique Typographie NASA Polémique Mars Féminisme Violence sexuelle Libertés fondamentales Corée du Sud Suisse Japon Toys Concurrence Droit d'auteur Éducation Estonie UK Égypte Indonésie Théâtre ONU Peine de mort Abeilles Prix Nobel En español Cannabis Aléatoire Censure Applications mobiles Course Homosexualité Danse Adobe NPR Mozilla Guitare Homophobie Mariage TWiT Settings Français DARPA Boston Dynamics Nerdfighteria Cancer Traitement de l'image Armes Secte de Scientologie The Onion Tumblr ADHD Drugs Scandale Césars Paradis fiscaux Copyright Documentaire Yahoo BDSM Post-apocalyptic Sword & Laser Virtual reality Spam Mali Timbuktu Manuscripts Crowdfunding indiegogo RSS Feedly Free Youtube Magie Meta Puzzle Tetris Grève Vocabulaire Bateaux Système métrique Vision artificielle Apprentissage automatique Traduction automatique Traitement du langage naturel Alan Turing meme Pixar Psychologie Debate Éclipse Ciel & Espace Organisation Google Analytics D3.js Vexillologie Oracle Juridique Saisons Astronomie Comète Rosetta ESA Pokémon Go Critiques, tests Programmes Élections Scrutin Météo Changement Climatique Tractors PUBG Capitalisme Changement d’heure Anarchisme Écriture Inclusive Bisexualité Game Jeux de société Toulouse Évènement