Cracking, Programmation

lundi 12 juin 2017, 13:46  #1
question injection sql
redou
  • 2 posts

bonjour,

j’ai une question sur l’instruction suivante qui est un exemple d’injection sql :

$query = sprintf("SELECT * FROM my_table WHERE login = ’%s’ AND password = MD5(’’) OR 1=1 #’)", mysql_real_escape_string($_POS T[’login’]), $_POST[’password’] ) ;

il y a un caractère commentaire ’#’ qui annule (sauf erreur de ma part) tout le reste de l’instruction.
ce que je ne comprend pas c’est comment est ce que cette instruction fonctionne alors qu’il lui manque des éléments de syntaxe (il manque : ") ; à la fin) et qu’il n’y a aucune variable attribuée au %s.

lundi 12 juin 2017, 13:46  #2
question injection sql
redou
  • 2 posts

Bonjour,

j’aimerais aussi savoir si le php est sensible aux sauts de lignes.
Je sais qu’en javascript, quand on écrit une instruction, le point-virgule de fin n’est pas obligatoire si l’instruction qui suit se trouve sur la ligne suivante. Mais ca me parait bizarre parceque en fonction de si on ouvre un fichier .php avec un éditeur de texte ou un autre, les sauts de lignes ne sont pas les mêmes : j’ai par exemple un fichier php, si je l’ouvre avec sublimtext (ce avec quoi je l’ai écrit) alors le code est bien organisé, mais si je l’ouvre avec bloc note alors il est affiché sur 3 lignes seulement.

lundi 12 juin 2017, 19:56  #3
question injection sql
Defte
  • 65 posts

Pour le "#" je suis quasi sur que ça dépend des SGDB, certains utilisent le "—" pour les commentaires

samedi 4 août 2018, 14:50  #4
question injection sql
mgazel
  • 2 posts

Alors pour le %s il correspond à mysql_real_escape_string($_POS T[’login’]), $_POST[’password’]
Pour ton # il annule bien tout ce qu’il y a après mais dans ton example tu n’a rien après le OR 1=1 #, vu que le reste qui est derriere correspond en faite a un résultat qui vas être envoyer mais avant a l’endroit du %s

mardi 7 août 2018, 11:08  #5
question injection sql
Lea10
  • 1 posts

« Pour le "#" je suis quasi sur que ça dépend des SGDB, certains utilisent le "—" pour les commentaires »

C’est aussi le cas pour les serveurs MySQL svp ? Merci