Outils pour utilisateurs

Outils du site


web:faille_comparaison_php

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

web:faille_comparaison_php [2016/03/14 11:01]
arkinar créée
web:faille_comparaison_php [2016/04/18 08:16]
yorin Ortho
Ligne 9: Ligne 9:
 La comparaison large ( == ) :  La comparaison large ( == ) : 
  
-- Il compare la valeur en utilisant le transtypage : convertit une des deux valeurs (ce qui donne de nombreux faux positif)+- Il compare la valeur en utilisant le transtypage : convertit une des deux valeurs (ce qui donne de nombreux faux positifs)
  
 La comparaison stricte ( === ) : La comparaison stricte ( === ) :
Ligne 17: Ligne 17:
 Les fonctions php : Les fonctions php :
  
-- Elles ont été développés ​pour comparer les variables. ex :strcmp+- Elles ont été développées ​pour comparer les variables. ex :strcmp
  
 Exemple de code vulnérable : Exemple de code vulnérable :
Ligne 40: Ligne 40:
 **2.Exploitation** **2.Exploitation**
  
-Le but est d'​exploiter les faux positif ​pour bypasser une authentification.+Le but est d'​exploiter les faux positifs ​pour bypasser une authentification.
  
 __2.1 Méthode 1 : Comparaison large ( == )__ __2.1 Méthode 1 : Comparaison large ( == )__
Ligne 46: Ligne 46:
 Pour bypasser la comparaison large il faut regarder le tableau des comparaisons (cf source). Pour bypasser la comparaison large il faut regarder le tableau des comparaisons (cf source).
  
-Une des lignes ​indiques ​que "​php"​ == 0 => renvoie true.+Une des lignes ​indique ​que "​php"​ == 0 => renvoie true.
  
-Nous allons envoyer ​en donnée ​dans le formulaire : +Nous allons envoyer dans le formulaire ​ces données
  
 <​code>​login=0&​password=0</​code>​ <​code>​login=0&​password=0</​code>​
  
-Le php va l'​interpreter ​de la manière suivante :+Le php va l’interpréter ​de la manière suivante :
  
 <​code>​if (0==0 && 0==0)</​code>​ <​code>​if (0==0 && 0==0)</​code>​
Ligne 62: Ligne 62:
 Pour bypasser la fonction strcmp il faut utiliser un tableau. Pour bypasser la fonction strcmp il faut utiliser un tableau.
  
-Nous allons envoyer ​en donnée ​dans le formulaire : +Nous allons envoyer dans le formulaire ​ces données
  
 <​code>​login[]=abc&​password[]=abc</​code>​ <​code>​login[]=abc&​password[]=abc</​code>​
  
-Le php va générer une erreur mais il va renvoyer true.+Le php va générer une erreur mais va tout de même renvoyer true.
  
  
 **3.Comment se protéger** **3.Comment se protéger**
  
-Pour se protéger il faut utiliser des comparaisons ​stricte ​( === ).+Pour se protéger il faut utiliser des comparaisons ​strictes ​( === ).
  
-Il faut aussi toujours filtrer les valeurs ​envoyer ​par l'​utilisateur avant de les utiliser.+Il faut aussi toujours filtrer les valeurs ​envoyées ​par l'​utilisateur avant de les utiliser.
  
 Source : Source :
web/faille_comparaison_php.txt · Dernière modification: 2016/07/04 08:38 (modification externe)