web-dev-qa-db-fra.com

Injection SQL: supprimer toutes les tables

J'ai utilisé des scanners de vulnérabilité pour vérifier un de mes sites, et une instance d'injection SQL aveugle a été retournée. Cependant, lorsque j'essaie d'exploiter cette vulnérabilité en entrant ce qui suit dans la barre d'adresse, rien ne se passe:

http://www.example.com/articles.php?id=-1' or 68 = '66; DROP ALL TABLES; --

Je ne vois pas pourquoi cela ne fonctionne pas. Quel est le texte correct que je dois entrer dans la barre d'adresse pour supprimer toutes les tables (et oui, je teste cela sur une copie de sauvegarde du site)?

13
Pamela

Les grande majorité des applications Web ne permettent pas l'empilement de requêtes. Avec PHP/MySQL, l'application peut autoriser l'empilement de requêtes si vous utilisez les fonctions mysqli::multi_query() ou mysqli_multi_query().

Vous pouvez exploiter ces systèmes en utilisant la sous-sélection, les sélections d'union, l'injection SQL aveugle, into outfile Ou loadfile(). SQLMap et Havij sont deux outils qui automatisent l'exploitation de SQL Injection. SQLMap est un excellent outil avec un large éventail de fonctionnalités, et prend en charge une grande variété d'injections et de SGBD.

18
rook

Si le site n'utilise pas d'apostrophes (') vous pouvez essayer ceci:

http://www.example.com/articles.php?id=-1; DROP ALL TABLES; --
0
Nicola Pesavento