[PHP] Faille de sécurité XSS

coccoweb Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -  
coccoweb Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai découvert sur l'un de mes sites une faille de sécurité

Ma petite fonction
 // Retourne le PHP formaté et coloré 
 function php_code($code){ 
 // Ici on supprime le retour a la ligne 
 // Ceux-ci sont déjà remplacé par des <br />  
 $code = preg_replace("/\n/", "", $code); 

 // On decode les caracteres spéciaux sans quoi le highlight ne fonctionnerai pas 
 $code=html_entity_decode($code[1], true); 
 $code=htmlspecialchars_decode($code); 
 return '<br /><span class="strong">Script PHP :</span><div class="scroll">'.highlight_string($code, true).'</div><br />'; 
 } 


Imaginons que le client (membre, utilisateur) envois en BBcode ceci
// BBCODE 
[code=php] 
<?php 
$var = 'test de la colorisation'; 
// Envois d'une requete simple XSS 
<SCRIPT>alert('Zut alors...')</SCRIPT> 
[/code] 


Et la paff la boite de dialogue qui me dit Zut alors...


Quelqu'un a une idée pour sécuriser ?


Merci
A voir également:

1 réponse

mrcrowley Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   8
 
Tu as trouvé la solution toi même !
Tu as une failles qui permet d'inserer du javascript.
Pour remédier à ce problème, la fonction htmlspecialchars(); peut t'aider ;)
0
coccoweb Messages postés 141 Date d'inscription   Statut Membre Dernière intervention   27
 
C'est bien aimable de ta part de me le dire, mais comment ?
0