J'utilise Kiiz'CMS qui fournit une boutique qui comporte une grosse faille de type "Injection SQL". Les Hackeurs peuvent mettre une simple quote ' dans la barre d'adresse (&cat=1) ==> (&cat='1) et provoquer des erreurs pour que mysql_error() indique des infos sur la BDD. Le Hackeur a donc accès a tout les comptes. Merci de m'aider à résoudre cette faille.
Voici la page php:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <div class="titleSite"><b>₪</b> Boutique !</div> <?php if ($connect) { echo '<center>Vous avez actuellement <b>'.$compte->points.'</b> PB à dépenser.</center><br><center><b>[Veuillez selectionner une catégorie]</center></b><br />'; } ?> <br /> <center><table width="95%"><tr> <td><a href="index.php?p=boutique&cat=1"><center>Equipements</center></a></td> <td><a href="index.php?p=boutique&cat=2"><center>Dofus</center></a></td> <td><a href="index.php?p=boutique&cat=4"><center>Armes</center></a></td> <td><a href="index.php?p=boutique&cat=5"><center>Familiers</center></a></td> <td><a href="index.php?p=boutique&cat=6"><center>Divers</center></a></td> </tr></table><br /></center> <?php switch ($_GET['cat']) { case 1: // EQUIPEMENT SPECIALE case 2: // DOFUS case 4: // ARMES SPECIALE OU FM case 5: // FAMILIER SPECIALE case 6: // DIVERS ET AUTRES $repItems = mysql_query("SELECT ID FROM boutique_objets WHERE type='".$_GET['cat']."' ORDER BY ID"); while ($donItems = mysql_fetch_array($repItems)) { $itemActuel = new Item($donItems[0]); ?> <div id="bgBoutique"> <object style="position:absolute;margin-top: 75px; margin-left: 384px;"width="88px;" height="88px" type="application/x-shockwave-flash" data="img_boutique/swf/<?php echo $itemActuel->swf; ?>"> <param name="movie" value="img_boutique/swf/<?php echo $itemActuel->swf; ?>" /> <param name="wmode" value="transparent" /> </object> <span style="overflow:hidden; overflow-x: hidden; overflow-y: auto; overflow : -moz-scrollbars-vertical; width: 197px; height: 120px;text-align: left;position:absolute;margin-top: 44px; margin-left: 170px; font-size: 8.5px;"><?php echo $itemActuel->stats; ?></span> <span style="position:absolute;margin-top: 48px; margin-left: 54px;">Niveau : <b><?php echo $itemActuel->level; ?></b></span> <span style="position:absolute;font-size: 14px;margin-top: 12px; margin-left: 11px;"><b><?php echo $itemActuel->name; ?></b><i><b><small> = <font color="red"><?php echo $itemActuel->cout; ?> PB</b></font></small></i></span> <a href="index.php?p=acheter&objet=<?php echo $itemActuel->ID; ?>"><div style="margin-top:126px;margin-left:30px;position:absolute;width:97px;height:45px;"></div></a> </div> <center>_ _ _ _ _ _ _ _ _ _ _ _ _ _</center><br /> <?php } break; default: ?><center>[Veuillez selectionner une catégorie]</center><br /><?php break; } ?>
Partager