Bonjour a tous,
j'ai fait un petit programme en php pour un forum entre amis, mais on ma dit que mes variables sont apparemment mal protégées, donc que j'ai une faille de sécurité de type XSS, voilà une idée du code que je commence a faire.
l'index :
La partie inscription :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <html> <head> <title>Forum entre amis</title> </head> <body> <center>Forum</center> <br /> <ul> <br /> <script> document.cookie = "aaaa = bbbb";</script> <ul> <?php @mysql_connect("localhost", "root") or die("Impossible de se connecter à la base de données"); @mysql_select_db("forum") or die("Table inexistante"); $nombre = mysql_query("SELECT * FROM message;"); if (mysql_numrows($nombre) > 0) for ($Compteur=0 ; $Compteur<mysql_numrows($nombre) ; $Compteur++) { $pseudo = mysql_result($nombre , $Compteur , "pseudo"); echo "- ".$pseudo."<br>"; $message = mysql_result($nombre , $Compteur , "message"); echo "mon message: ".$message."<br><br><br><br><br><br>"; } else echo "Aucun message pour le moment<br>"; mysql_close(); ?> </ul> <br /> Pour ajouter un commentaire <a href="list.php">cliquer ici</a> </ul> </body> </html>
et le fait de cliquer sur l'enregistrement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <html> <head> <title>Forum entre amis</title> </head> <body> <br /> <ul> <li> <br /> <div align="center"> <form method="POST" action="./inscription.php"> Pseudo : <input type="text" name="pseudo" value="Ecrir votre pseuod ici"> <br /> Message: <input type="text" name="message" value="Ecrir votre message ici"> <br /><br /><br /> <input type="submit" name="envoi" value="Enregistrer !"> </form> </div> </li> <br /> <br /> </ul> </body> </html>
j'aimerai que quelque m'indique en quoi mes variables sont mal protégées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <!-- inscription.php - Inscription des pseudos et messages --> <?php $pseudo = $_POST["pseudo"]; $message = $_POST["message"]; @mysql_connect("localhost", "root") or die("Impossible de se connecter à la base de données"); @mysql_select_db("forum") or die("Table inexistante"); $nombre = mysql_query("INSERT INTO message values('$pseudo','$message');"); mysql_close(); header("Location: ./index.php"); ?>
Merci à l'avance pour votre aide
Partager