Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
803 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Proteger une page avec un mot de passe... (une faill ?)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Proteger une page avec un mot de passe... (une faill ?)

n°1503252
CreaRetour
Posté le 15-01-2007 à 17:37:50  profilanswer
 

Salut, hello...
 
J'ai fais un petit script PHP, pour proteger une page avec un mot de passe. j'ai fait trés simple, voila le code:
 
 

Citation :

<?php
// J'ai choisi le mot de passe "kangourou"
 
if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
    // On se crée une variable $mot_de_passe avec le mot de passe entré
    $mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
    $mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}
 
 
if ($mot_de_passe == "kangourou" ) // Si le mot de passe est bon
{
// On affiche la page cachée.
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Codes d'accès au serveur central de la NASA</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <h2>Voici les codes d'accès :</h2>
        <h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>
       
        <hr />
       
        <p>
        Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
        La NASA vous remercie de votre visite.
        </p>
    </body>
</html>
 
<?php
}
 
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Page protégée par mot de passe</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
<form action="mot_de_pass.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
    </body>
</html>
 
<?php
 
} // Fin du else
 
// Fin du code :)
?>


J'ai mis ca sur mon site, et j'ai fait un petit pari avec un ami: je lui es dit qu'il ne pourra jamais accéder a la page (...//càd qu'il ne pourra jamais trouvé le mot de pass) . Mais a chaque fois il trouve le mot de passe !!!!
je ne sais pas comment il fait, mais il ne veut pas me dire.  
alors que je poncé pouvoire protégé une page avec ce genre de script !
 
merci pour votre aide///


Message édité par CreaRetour le 15-01-2007 à 17:46:34
mood
Publicité
Posté le 15-01-2007 à 17:37:50  profilanswer
 

n°1503271
CreaRetour
Posté le 15-01-2007 à 18:07:29  profilanswer
 

UP

n°1503441
leflos5
On est ou on est pas :)
Posté le 16-01-2007 à 05:28:47  profilanswer
 

Regardes tes logs, je suis quasi sur que tu trouveras des milliers de lignes avec différents mots de passe :whistle:

n°1503462
Le_Tolier
Hello IT ?
Posté le 16-01-2007 à 09:29:25  profilanswer
 

ton pote est h3cK3r de l33t tu peux pas lutter il est trop fort.

n°1503540
Ace17
Posté le 16-01-2007 à 11:27:28  profilanswer
 

Si le mot de passe que tu mets est pourri (comme "kangourou" ) forcément il va le trouver avec une liste de mots. Ce qu'il te faut, c'est d'une part choisir un mdp d'au moins 8 caracteres avec melange majuscules/minuscules/chiffres qui ne soit pas dans le dico, et d'autre part bannir une adresse IP apres un certain nombre de tentatives infructueuses...

n°1503559
rufo
Pas me confondre avec Lycos!
Posté le 16-01-2007 à 11:50:30  profilanswer
 

bannir, c'est un peu violent. Moi, je dirais boquer l'accès au site pendant une durée (1 heure, par ex) + envoi d'un mail à l'admin pour le prévenir qui'il y a eu une tentative. Ca sera à lui de prendre la décision finale de la marche à suivre.

n°1503650
dwogsi
Défaillance cérébrale...
Posté le 16-01-2007 à 14:52:52  profilanswer
 

Et peut être éviter de stocker le mdp en clair. Un hash serait peut être préférable. Non?

n°1503655
rufo
Pas me confondre avec Lycos!
Posté le 16-01-2007 à 14:54:43  profilanswer
 

un petit md5() par ex...

n°1503709
omega2
Posté le 16-01-2007 à 15:48:37  profilanswer
 

Ben déjà, t'as quoi d'autres comme service de lancé sur le serveur? (si ton copain a accés au dossier du site soit par ftp soit par partage windows, ta protection ne sert à rien)
De même t'as vérifié les autres pages dynamique du site? (il suffit parfois qu'une page inclus le texte de n'importe quel fichier sans l'interpréter pour que le code qu'elle contient devienne visible à tous)
 
Et oui, sécurisé un script c'est bien mais s'il y a une faille grosse comme un immeuble à côté, ca ne sert pour ainsi dire à rien.

n°1503744
zbang
Posté le 16-01-2007 à 16:25:11  profilanswer
 

il passe comme variable mot_de_passe un truc du genre :
" || $mot_de_passe == true || $mot_de_passe == "

 

non?


Message édité par zbang le 16-01-2007 à 16:26:58
mood
Publicité
Posté le 16-01-2007 à 16:25:11  profilanswer
 

n°1503797
omega2
Posté le 16-01-2007 à 17:40:01  profilanswer
 

zbang > Il ne fait que des comparaisons de texte dans son code (aucune exécution du contenu d'une variable, aucune accés à une base de donnée et aucun affichage du contenu d'une variable)
Ca ne peut donc pas être ça.

n°1503881
corkynatio​n
Levieuxcaps
Posté le 16-01-2007 à 20:58:50  profilanswer
 

meme avis que Leflos5
déjà je mettrai:
<input type="password" name="mot_de_passe" />
au cas où ton navigateur aurait gardé la liste des champs saisis

n°1504006
CreaRetour
Posté le 17-01-2007 à 09:15:27  profilanswer
 


J'ai apris ça sur le siteduzero, mais j'ai pas copier a l'aveglette, j'ai compris ce que je fait, dailleur c'est trés simple.
 
En fait je croi que mon pote a utilisé un logiciel de brut force (je croi). l'idée de banir l'ip aprés plusieur tantative me parés bien, mais comme je débute je ne sais pas trop comment faire avec l'ip...
pouvez vous m'aidé svp
 
merci


Message édité par CreaRetour le 17-01-2007 à 09:16:38
n°1504007
Ace17
Posté le 17-01-2007 à 09:17:08  profilanswer
 

Putain, fais un effort avec l'orthographe par pitie....

n°1504019
Le_Tolier
Hello IT ?
Posté le 17-01-2007 à 09:37:32  profilanswer
 

corkynation a écrit :

meme avis que Leflos5
déjà je mettrai:
<input type="password" name="mot_de_passe" />
au cas où ton navigateur aurait gardé la liste des champs saisis

 

je crois que le navigateur est un peu plus malin que ca, genre il dois checker plus le type de input que le nom ...


Message édité par Le_Tolier le 17-01-2007 à 10:31:18
n°1504040
CreaRetour
Posté le 17-01-2007 à 10:18:09  profilanswer
 

l'idée de banir l'ip aprés plusieur tantative me parés bien, mais comme je débute je ne sais pas trop comment faire avec l'ip...  
pouvez vous m'aidé svp  

n°1504226
leflos5
On est ou on est pas :)
Posté le 17-01-2007 à 15:46:02  profilanswer
 

Ce qu'il faut voir, c'est qu'une IP peut correspondre à plusieurs machines qui n'ont rien à voir entre elles (derrière le même proxy sans que ça soit la même personne qui essaye), donc à toi de voir si ça colle avec le contexte de tes utilisateurs :)
 
Parce que punir l'un à cause de l'autre c'est pas top, mais je t'avoue qu'il y a pas d'autres moyens fiables d'identifier un client. Cependant faut aussi penser qu'en ip/adsl, suffit de se déconnecter et se reconnecter pour avoir une ip différente, donc...
 
Pour avoir l'IP du client suffit d'utiliser les variables de php, fais un phpinfo() et cherche la bonne ;) Après tu stockes le nombre de tentatives dans une session et tu bloques si tentatives successives (nombre par laps de temps supérieur) à la valeur que t'auras défini. A toi de voir comment tu stockes (bd, fichier...)

n°1504268
rufo
Pas me confondre avec Lycos!
Posté le 17-01-2007 à 16:43:56  profilanswer
 

$_SERVER['REMOTE_ADDR'] pour avoir l'ip de l'utilisateur qui a exécuté une requête.
Eventuellement, ça peut être couplé à dautres infos comme la version du navigateur utilisé pour voir si c'est le même utilisateur. Mais si l'utilisateur est sur son lieu de travail, derrière un proxy, y'a de fortes chances que tous les gens de sa boîte utilisent le même navigateur...

n°1504354
Djebel1
Nul professionnel
Posté le 17-01-2007 à 19:00:33  profilanswer
 

Oui, récupérer l'ip, la version navigateur et l'OS utilisé. Même si rufo a raison, ça peut parfois sauver un ou deux gars innocents.  
En prime tu peux placer un cookie qui indiquera le ban, le mec peut ne pas penser à vérifier, et le client qui sert à bruteforcer peut peut-être les accepter.
 
Mais avant de faire tout ça vérifie les logs du serveur pour voir s'il t'a effectivement bruteforcé, car comme le souligne omega2, ça pourrait être une faille du serveur ou d'un autre script.


Message édité par Djebel1 le 17-01-2007 à 19:01:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Proteger une page avec un mot de passe... (une faill ?)

 

Sujets relatifs
Afficher du XML sur une page HTML...htaccess - page travaux
proteger un mail de contact sur son site web ?Afficher que la première page d'un fichier pdf
[ASP] inserer contenu html dans une page aspSite multilangue, changement de langue, page identique
Redirection de page après formulairecomment raffraichir une seule partie d une page wew
[C# .NET 2.0] Un contrôle ajouté disparaît qd on reload la page[php] ouvrir une page d'un site hebergé sur OVH
Plus de sujets relatifs à : Proteger une page avec un mot de passe... (une faill ?)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR