Injection Mysql

devlop78
Invité n'ayant pas de compte PHPfrance

01 avr. 2010, 16:41

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,

ViPHP
ViPHP | 5462 Messages

01 avr. 2010, 16:42

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

devlop78
Invité n'ayant pas de compte PHPfrance

01 avr. 2010, 17:11

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 .. ?

ViPHP
AB
ViPHP | 5818 Messages

01 avr. 2010, 17:20

L'injection de "%" peut aussi permettre certaines choses avec LIKE
Qui a un rapport direct avec la sécurité ? T'a un lien ?

Mammouth du PHP | 985 Messages

01 avr. 2010, 17:59

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.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
AB
ViPHP | 5818 Messages

01 avr. 2010, 18:05

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

Mammouth du PHP | 985 Messages

01 avr. 2010, 18:11

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...)
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.