Injection sql et $_POST

Messages postés
45
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2008
- - Dernière réponse : cs_Isengard
Messages postés
83
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
10 février 2006
- 24 juin 2005 à 12:11
bonjour a tous voila se matin je me suis dit que jallait fait la chasse
o faille sur mon site j'ai commencer par les xss sa c fini mais les
injection sql j'ai un peut plus de mal



donc voila le script hack.htm



<html>

<FORM action="http://127.0.0.1/admin/menu_admin.php?admin=news&db1=add_news" name="general" method="post">

titre


categori <select name="cat_news">
<option value="General">General</option>

</select>


news <textarea name="news" cols="50" rows="15"></textarea>


pseudo




</form>

</html>



et voila mon script pour add a la bdd



case 'add_news':





$pseudo = preg_replace("([\'"<>&/\;$!@#%^*()])","?",addslashes($_POST['pseudo']));

$titre = preg_replace("([\'"<>&/\;$!@#%^*()])","?",addslashes($_POST['titre']));

$news = preg_replace("([\'"<>&/\;$!@#%^*()])","?",addslashes($_POST['news']));

$cat = preg_replace("([\'"<>&/\;$!@#%^*()])","?",addslashes($_POST['cat_news']));

$time = time();

$date = getdate($time);

$date2 = "$date[mday]/$date[mon]/$date[year] $date[hours]:$date[minutes]";

mysql_query("INSERT INTO news VALUES ('','$pseudo','$date2','$titre','$news','$cat') ") or die ("erreur insert ".mysql_error());

echo "<center>$lang_redi_add_1

</centre>


<center>$lang_redi_all

<meta http-equiv="refresh" content="3; URL=$config_url_site/admin/menu_admin.php">";

break;



merci de m'aider dsl pour les fautes de francais

--==Papi Psycho==--
Afficher la suite 

4 réponses

Messages postés
45
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2008
0
Merci
jai oublie une petit presiction normalement pour avoir accer a cette
parti du site il fo etre admin la il me me mais bien comme si jetait un
intru mais il poste quand meme
--==Papi Psycho==--
Commenter la réponse de papipsycho
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
0
Merci
Tu met un " if ($level !== 'admin') die('Pas admin']; " Et comme ca, t'as plus accès à la page.



Après pour rentrer les dates, tu peux faire dans ta DB SQL un champ type DATETIME, et quand tu fais un INSERT, ca donne ca :

INSERT INTO news VALUES ('','$pseudo',NOW(),'$titre','$news','$cat') ");

Ca t'évite de te faire chier avec time() et getdate($time) en php :)
Commenter la réponse de FhX
Messages postés
45
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2008
0
Merci
jai deja un $level == admin mes plus au



if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){

}

else {

header("Location:../index.php?erreur=intru");

}

--==Papi Psycho==--
Commenter la réponse de papipsycho
Messages postés
83
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
10 février 2006
0
Merci
De toute facon on peut pas forcer des sessions non ?

"Celui qui brise une chose pour découvrir ce que c'est a quitté le chemin de la sagesse"
Commenter la réponse de cs_Isengard