Page 1 sur 1

Injection Mysql

Posté : 01 avr. 2010, 16:41
par devlop78
Bonjour,

Je suis en train de rédiger un article sur la sécurité des sessions etc à partir de ce que j'ai pu lire sur le net. Connaissant mal Mysql (ça fait longtemps que je ne l'ai pas utilisé), j'aurais voulu avoir vos retours d'expérience.

Donc le premier danger d'injection en SQL est le quote '. Le quote ` est-il dangereux ?
L'injection de "%" peut aussi permettre certaines choses avec LIKE (mais pour l'éviter je ne sais pas si un "=" fonctionne sur des varchar). Je sais que l'ajout de commentaires peut être dangereux mais cela à partir du moment où on a réussit l'injection de quote.

Quels sont les autres caractères susceptibles de changer le comportement de SQL (le joker %, etc ...) ?

Cordialement,

Re: Injection Mysql

Posté : 01 avr. 2010, 16:42
par stealth35
ta plein d'info ici
http://php.net/manual/fr/security.datab ... ection.php :wink:

les requêtes préparer évitant se genre de chose

Re: Injection Mysql

Posté : 01 avr. 2010, 17:11
par devlop78
mysql_real_escape_string() ne protège pas de % par exemple. Et quel intérêt d'échapper NULL ? Pourquoi pas échapper EOT,ENQ, ACK .. ?

Re: Injection Mysql

Posté : 01 avr. 2010, 17:20
par AB
L'injection de "%" peut aussi permettre certaines choses avec LIKE
Qui a un rapport direct avec la sécurité ? T'a un lien ?

Re: Injection Mysql

Posté : 01 avr. 2010, 17:59
par Dr@ke
Personne n'a jamais dit ici que mysql_real_escape_string() était sûr à 100%.
Mysql n'est plus supportée, Mysqli (style Objet) et Pdo offrent les requêtes préparées.

Re: Injection Mysql

Posté : 01 avr. 2010, 18:05
par AB
Mysql n'est plus supportée ...
là tu y vas un peu fort :wink:

En prenant ton message au premier degré, ça voudrait dire très gros pb sur la grande majorité des sites actuels :)

Re: Injection Mysql

Posté : 01 avr. 2010, 18:11
par Dr@ke
C'est vrai, ce n'est pas ce que je voulais dire :wink:

(La majorité des sites actuels, vérifient et/ou filtrent tout de même un minimum les données avant de les insérer dans une requête...)