Bug APACHE, j'en fait profité les autres...

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

Bug APACHE, j'en fait profité les autres...

Message le Jeu Oct 07, 2004 15:10

Bon,

Voici ce que je viens de découvrir (avec Sivit :wink: ).

Je place un password pour l'admin de mon site, tout comme je place un passe word pour protéger certain répertoire en .htaccess.
Et là, big bug.

Exemple:

login : on s'en fout
password: "ceuxvousvoulez_ceuxquevouvoulez".

Et bien seul "cequevousvoulez" est pris en compte. Rien de se qui se trouve derrière le _ ne sert. De même, vous pouvez même n'importe quoi après le _ ça passe.


Sivit m'a donné comme raison un bug APACHE.

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Message le Jeu Oct 07, 2004 15:45

tu es sous Linux ou windows?

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

Message le Jeu Oct 07, 2004 16:48

Linux

Mutualisé sivit.


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Oct 07, 2004 17:02

c est grave qd meme ca, je teste desuite chez mon hebergeur. tu peux donner ta version d'apache ? (fais un phpinfo() si tu l'a pas)

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

...

Message le Jeu Oct 07, 2004 17:21

Version Apache : Apache/1.3.29 (Unix) PHP/4.3.8

Bon, je rentre dans le détail en donnant mon exemple de password.

Pass page admin sivit: abcde-45_blabla
Pass .htaccess : azerty-21_toto_blabla
Autre pass .htaccess : azerty-21_abc_untruc
(Je parle de .htaccess créés via l'interface sivit.)

Eh bien en mettant juste les lettres-2chiffres, ça marche.

Tout ce qui est à partire du _ est superflue.

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Message le Jeu Oct 07, 2004 18:12

Personnelement je suis aussi sous Linux et je fais manuellement mes fichiers .htaccess. Pour le champ password, j'utilise la fonction crypt() et elle ne m'as jamais sorti de _ dans le password code, a la limite des . ou des / mais sinon que des lettres ou chiffres, alors il faudrait se demander si c'est pas le petit programme de chez sivit qui connait un leger bug.
a etudier...

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Message le Jeu Oct 07, 2004 18:25

Je confirme mes dires: c'est PAS un bug d'Apache: j'ai essaye sous apache 1.3.29 sous Linux (en localhost chez moi) et avec le password: mot_de_passe (ce qui donne apres la moulinette du crypt():INRe1uUIuf4Ak) et le user david, ben ca fonctionne parfaitement. et si je tape juste: mot ou mot_de ou meme mot_de_ ben il me jette, il n'accepte que mot_de_passe.

QQun d'autre confirme?


Ben
WRInaute discret
WRInaute discret
 
Messages: 217
Inscription: 20 Fév 2003

Re: ...

Message le Jeu Oct 07, 2004 19:38

Grantome a écrit:Version Apache : Apache/1.3.29 (Unix) PHP/4.3.8

Bon, je rentre dans le détail en donnant mon exemple de password.

Pass page admin sivit: abcde-45_blabla
Pass .htaccess : azerty-21_toto_blabla




Je ne sais pas si c'est lié mais il y a exactement 8 caractères avant ton underscore. Je crois que la fonction crypt est justement limitée à 8 caracteres, c'est pour ca que bcp de logiciels utilisent une fonction de type md5 pour accepter les mots de passe plus longs.

Donc ce ne serait pas lié à la présence d'un _ mais à la taille du pw.

Ben

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Re: ...

Message le Jeu Oct 07, 2004 19:54

Ben a écrit:Je ne sais pas si c'est lié mais il y a exactement 8 caractères avant ton underscore. Je crois que la fonction crypt est justement limitée à 8 caracteres, c'est pour ca que bcp de logiciels utilisent une fonction de type md5 pour accepter les mots de passe plus longs.

Donc ce ne serait pas lié à la présence d'un _ mais à la taille du pw.


crypt() n'est pas limite a 8 caracteres, regarde l'exempel que j'ai donne: mot_de_passe, ca fait 12 caracteres, et crypt() (en tout cas avec PHP) me l'as tres bien crypter, j'ai aussi verifier avec PERL il me donne la meme chose. Donc non Ben c'est pas ca.

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Message le Jeu Oct 07, 2004 20:07

Pour ceux quia ca interesse voici mon code complet pour ce servir de la fonction crypt() en PHP, vous remarquerez que j'utilise le Salt "IN" car c'est celui utilise pour les .htaccess sous Apache/Linux-Unix:

Code: Tout sélectionner
<?php
if($_POST['action']=='submitted')
{
   $strcrypter=crypt($_POST['acrypter'],IN);
}
?>
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>crypt</title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<body>
<form name="form1" enctype="application/x-www-form-urlencoded" action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<table>
   <tr>
   <td>Mot &agrave; crypter:</td>
   <td><input name="acrypter" type="text" size="14" maxlength="15" value="<?php echo($_POST['acrypter']); ?>" /></td>
   </tr>
   <tr>
   <td colspan="2"><input type="submit" value="Crypter"/><input type="hidden" name="action" value="submitted"></td>
   </tr>
   <tr><td colspan="2">R&eacute;sultat=<?php echo($strcrypter); ?></td>
   </tr>
</table>
</form>
</body>
</html>


@+
David


Ben
WRInaute discret
WRInaute discret
 
Messages: 217
Inscription: 20 Fév 2003

Message le Jeu Oct 07, 2004 20:12

David, avec ton programme de test:

qwertyui -> Résultat=INdUUzaS4c7rI
qwertyuiop -> Résultat=INdUUzaS4c7rI

CQFD, seuls les 8 premiers caracteres sont pris en compte par crypt

Ben

David@site
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 382
Inscription: 14 Jan 2004

Message le Jeu Oct 07, 2004 20:31

Ah oui! autant pour moi, j'ai cru qu'il ralerai si plus de 8 caracteres, mais non et j'ai rien trouver dans la doc qui dit que c'est limite


Ben
WRInaute discret
WRInaute discret
 
Messages: 217
Inscription: 20 Fév 2003

Message le Jeu Oct 07, 2004 20:55

je n'avais rien trouvé non plus dans la doc de php, par contre dans man crypt(3) ils avouent que la clé est composée de 56 bits (8 caractères ascii 7bits)

à l'époque, 8 caractères c'était largement suffisant. Maintenant avec la puissance des ordis ca commence à être peu... On a interet a mélanger majuscules, minuscules, chiffres et caracteres speciaux si on veut que le mp soit dur a cracker...

Ben

Mojy
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 421
Inscription: 22 Aoû 2004

Message le Ven Oct 08, 2004 3:40

en MD5 c'est tout de suite beaucoup plus difficile.
@+ Mojy

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

Message le Ven Oct 08, 2004 8:43

8 caractères....

Hummm, je vais en informer Sivit.

Bug APACHE, j'en fait profité les autres...

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité