par
Ez3kiel » 08 juin 2011, 14:41
Page de connexion (admin.php) :
<form name="F_connexion" method="post" action="admin_exec.php" enctype="multipart/form-data">
<table>
<tr ><td >Votre login </td><td ><input size=20 type="text" name="Login"></td></tr>
<tr ><td > Votre mot de passe </td><td ><input size=20 type="password" name="MotDePasse"></td></tr>
<tr ><td colspan="2" class="TD_ACentrer"><input type="SUBMIT" size="20" name="B_Envoyer" value="Envoyer"> </tr>
</table>
</form>
</div>
</div>
<?php
//On teste la variable retour
if (isset($_GET['retour']))
{
//On regarde si elle est égale à 1
if ($_GET['retour']==1)
{
?>
<script langugage="text/Javascript">
alert('Vous avez rentré un mauvais login ou mot de passe')
</script>
<?php
}
else //Sinon c'est que on a modifié l'url, alors tentative d'intrusion
{
?>
<script language="Javascript">
alert("Tentative d'intrusion repérée")
</script>
<?php
}
}
?>
Page d'execution (admin_exec.php) :
<?php
session_start();
//récupération des données de la page login (admin)
$Login=$_POST['Login'];
$Pwd=$_POST['MotDePasse'];
//Connexion à la base et séléection de la BDD
include("Connect.php");
$cnx=mysql_connect(SERVEUR,NOM,MDP) or die("Erreur de connexion sur serveur MySql :".SERVEUR );
mysql_select_db(BASE, $cnx ) or die("Erreur de connexion à la base de données" . BASE);
// la requête de vérification de l'existence de l'utilisateur
$hash = "s0mKvIe+-984**é";
$hash .= $Pwd;
echo md5($hash);
$LaRequete = "Select Login FROM t_utilisateurs WHERE Login = '".$Login."' AND MotDePasse = '".md5($hash)."'";
//exécution de la requête et fermeture de la connexion
$ResultatRequete = mysql_query($LaRequete) or die("Erreur SQL ! <br><br>".$LaRequete."<br><br>".mysql_error());
//si aucun retour c'est que l'utilisateur ou le mot de passe n'est pas valide ==> retour à la page login
if(mysql_num_rows($ResultatRequete) == 0)
{
header("location: admin.php?retour=1");
}
//sinon création des variables sessions et branchement au menu de l'administration
else
{
$_SESSION['NumSession']=session_id();
$_SESSION['Utilisateur']=$Login;
header("location: menu_admin.php");
}
?>
Echo de $hash :
086db0f353d080979d71c6790c12e236
Echo de $LaRequete :
Select Login FROM t_utilisateurs WHERE Login = 'admin' AND MotDePasse = '086db0f353d080979d71c6790c12e236'
Et dans la table, valeur de MotDePasse après md5 :
c7272ad6d1e5af1ee96386f119ad9b40
Page de connexion (admin.php) : [php] <form name="F_connexion" method="post" action="admin_exec.php" enctype="multipart/form-data">
<table>
<tr ><td >Votre login </td><td ><input size=20 type="text" name="Login"></td></tr>
<tr ><td > Votre mot de passe </td><td ><input size=20 type="password" name="MotDePasse"></td></tr>
<tr ><td colspan="2" class="TD_ACentrer"><input type="SUBMIT" size="20" name="B_Envoyer" value="Envoyer"> </tr>
</table>
</form>
</div>
</div>
<?php
//On teste la variable retour
if (isset($_GET['retour']))
{
//On regarde si elle est égale à 1
if ($_GET['retour']==1)
{
?>
<script langugage="text/Javascript">
alert('Vous avez rentré un mauvais login ou mot de passe')
</script>
<?php
}
else //Sinon c'est que on a modifié l'url, alors tentative d'intrusion
{
?>
<script language="Javascript">
alert("Tentative d'intrusion repérée")
</script>
<?php
}
}
?>
[/php]
Page d'execution (admin_exec.php) :
[php]<?php
session_start();
//récupération des données de la page login (admin)
$Login=$_POST['Login'];
$Pwd=$_POST['MotDePasse'];
//Connexion à la base et séléection de la BDD
include("Connect.php");
$cnx=mysql_connect(SERVEUR,NOM,MDP) or die("Erreur de connexion sur serveur MySql :".SERVEUR );
mysql_select_db(BASE, $cnx ) or die("Erreur de connexion à la base de données" . BASE);
// la requête de vérification de l'existence de l'utilisateur
$hash = "s0mKvIe+-984**é";
$hash .= $Pwd;
echo md5($hash);
$LaRequete = "Select Login FROM t_utilisateurs WHERE Login = '".$Login."' AND MotDePasse = '".md5($hash)."'";
//exécution de la requête et fermeture de la connexion
$ResultatRequete = mysql_query($LaRequete) or die("Erreur SQL ! <br><br>".$LaRequete."<br><br>".mysql_error());
//si aucun retour c'est que l'utilisateur ou le mot de passe n'est pas valide ==> retour à la page login
if(mysql_num_rows($ResultatRequete) == 0)
{
header("location: admin.php?retour=1");
}
//sinon création des variables sessions et branchement au menu de l'administration
else
{
$_SESSION['NumSession']=session_id();
$_SESSION['Utilisateur']=$Login;
header("location: menu_admin.php");
}
?>
[/php]
Echo de $hash :[quote] 086db0f353d080979d71c6790c12e236[/quote]
Echo de $LaRequete :[sql] Select Login FROM t_utilisateurs WHERE Login = 'admin' AND MotDePasse = '086db0f353d080979d71c6790c12e236'[/sql]
Et dans la table, valeur de MotDePasse après md5 : [quote]c7272ad6d1e5af1ee96386f119ad9b40[/quote]