6 réponses
atomy
Messages postés
442
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
11 août 2009
92
1 févr. 2008 à 22:57
1 févr. 2008 à 22:57
Salut,
Première chose que je vois.. c'est que tu as un String(13) et un String(12)... donc, un caractère de moins en bas...
Première chose que je vois.. c'est que tu as un String(13) et un String(12)... donc, un caractère de moins en bas...
a oui oui enfin je viens de me rendre compte que j'avais mit la longueur à 10 caractere ... ceci explique donc cela .... mais pas les \
atomy
Messages postés
442
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
11 août 2009
92
1 févr. 2008 à 23:04
1 févr. 2008 à 23:04
Salut,
Les \ sont des caractères "passe"... en gros, elles permettent de mettre un caractère, généralement interpreté par le code.
Qu'est-ce que tu voulais faire avec '='... je ne saisis pas!!
Les \ sont des caractères "passe"... en gros, elles permettent de mettre un caractère, généralement interpreté par le code.
Qu'est-ce que tu voulais faire avec '='... je ne saisis pas!!
bon une injection sql :
dans ton php tu as ceci
$req = "SELECT uid FROM admins WHERE login='$login' AND password='$pass'";
si tu saisis ceci
' OR 'a'='a
ta requete sql devient:
SELECT uid FROM admins WHERE login='' OR 'a'='a' AND password='' OR 'a'='a'
donc n'importe qui peu se loggé n'importe quand
je cherche donc à eviter ceci
ici je chercher à voir je que j'envoyer , voir a quel hauteur ma chaine , MDP n'était pas protéger
je m'entendais à avoir
du genre
string(13) "toto'='toto"
string(12) "toto'='tot"
et non
string(13) "toto\'=\'toto"
string(12) "toto\'=\'tot"
dans ton php tu as ceci
$req = "SELECT uid FROM admins WHERE login='$login' AND password='$pass'";
si tu saisis ceci
' OR 'a'='a
ta requete sql devient:
SELECT uid FROM admins WHERE login='' OR 'a'='a' AND password='' OR 'a'='a'
donc n'importe qui peu se loggé n'importe quand
je cherche donc à eviter ceci
ici je chercher à voir je que j'envoyer , voir a quel hauteur ma chaine , MDP n'était pas protéger
je m'entendais à avoir
du genre
string(13) "toto'='toto"
string(12) "toto'='tot"
et non
string(13) "toto\'=\'toto"
string(12) "toto\'=\'tot"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
atomy
Messages postés
442
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
11 août 2009
92
1 févr. 2008 à 23:20
1 févr. 2008 à 23:20
Salut,
Désolé... je pige pas pourquoi tu veux sortir 'toto'='toto' de ta phrase...? Est-ce qu'un usager va entrer ça, dans ton formulaire???
Désolé... je pige pas pourquoi tu veux sortir 'toto'='toto' de ta phrase...? Est-ce qu'un usager va entrer ça, dans ton formulaire???
je cherche a eviter une possibilité de hacking nommé injection sql
en gros elle consiste à mettre du code SQL dans les champs de formulaire
il s'agit d'echapper tout les caractere speciaux afin qu'il ne soit pas pris en compte comme du sql.
Le truc étant que je me rends compte que php semble m'echapper deja certain caractere comme le ' le " et le\ je ne comprends pas pourquoi (a mon sens cela n'est pas un comportement normal je me trompe ?)
je me demande si c'est suffisant pour éviter ce type d'attaque
en gros elle consiste à mettre du code SQL dans les champs de formulaire
il s'agit d'echapper tout les caractere speciaux afin qu'il ne soit pas pris en compte comme du sql.
Le truc étant que je me rends compte que php semble m'echapper deja certain caractere comme le ' le " et le\ je ne comprends pas pourquoi (a mon sens cela n'est pas un comportement normal je me trompe ?)
je me demande si c'est suffisant pour éviter ce type d'attaque