cs_Le13009
Messages postés5Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention19 novembre 2008
-
17 nov. 2008 à 03:23
cs_Le13009
Messages postés5Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention19 novembre 2008
-
19 nov. 2008 à 23:20
Bonjour,
j'ai telecharger un script open source, c'est un script de gestion de cabinet medecin, mais je viens de m'appercevoir que le script contient une faille xss que j'ai trouve sur ce site :
http://www.juniper.net/security/auto/vulnerabilities/vuln29153.html le script s'appel CyrixMed, certains entre vous le connaissent, apparament la faile est dans la premiere page : index.php
et vu que je me connai pas trop en php, je viens demander de l'aide, si quelqu'un peut m'aider a resoudre ce probleme bon le script est telechargeable ici : http://www.web-creation-fr.com/download.php?id=8 mais bon pour facilité la tache voici le code de la page index.php que j'ai coller sur rafb :
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 17 nov. 2008 à 10:21
salut
c'est une faille qui n'a vraiment aucune importance.
ligne 30, remplace :
echo "".$msg["".$_GET["msg_erreur"].""]."
";
par
echo "".$msg[$_GET["msg_erreur"]]."
";
pour avoir un code plus propre.
ensuite, tu ne peux pas vraiment corriger cette erreur comme ca... le principe est simple : on peut choisir d'afficher une erreur, sans qu'elle ne se soit produite.
je ne vois pas en quoi c'est une XSS importante...
cs_Le13009
Messages postés5Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention19 novembre 2008 17 nov. 2008 à 14:51
salut
mais d'apres ce que j'ai lu et j'ai meme demandé a un ami qui s'est connai bien en php il m'a dit quand j'ai lui montré ce code :
<?php
if (!session_is_registered("id_doc") || !session_is_registered("mdp_doc"))
{
// Affichage des messages d'erreur
if (isset($_GET["msg_erreur"]))
{
$msg= Array("1"=>"Erreur !
Le compte correspondant au login et au mot de passe entrés n'existe pas ou bien l'une de ces deux informations est invalide.",
"2"=>"Pour accéder à l'administration, vous devez auparavant vous êtes identifié(e) !",
"3"=>"Votre session a expiré ! Veuillez vous réidentifier.");
echo "".$msg["".$_GET["msg_erreur"].""]."
";
}
?>
il m'a dit :
" oui ce bout de code est vulnerable aux attaques XSS, il faudrait ajouter au debut du bloc du if, un filtrage, $_GET["msg_erreur"] = antixss($_GET["msg_erreur"]); voici la fonction que tu dois declarer dans ton programme :
function antixss($input) { strip_tags($input); $new = htmlspecialchars($input, ENT_QUOTES); return $new; }
l'attaquant peut injecter un code javascript qui prend tes cookies et les envois sur une autre URL, ces cookies peuvent utilisés par qq1 d'autre que toi pour avoir accès a ton compte sur ce meme site, ca se passe sur le navigateur de la victime par sur le serveur .........
voila desolé je vous donne l'avis d'une autre personne, mais vu que je me connai pas en php je sais quoi faire lol , si j'insert la fonction est ce que je dois absolument mettre le filtrage, et comment je dois tester si ca a bloqué cette faille.
le script est mis sur le net, une derniere question est ce que cette faille peut etre exploiter par n'importe qui ou par juste le developpeur de ce script.
je vous remerci d'avance
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 nov. 2008 à 00:09
hello,
ouais...que ton pote, ou l'auteur du site que tu cites, donne un exemple de xss dangereux. Parce que je ne vois pas non plus. Dans le pire des cas, le gars peut faire exécuter un js. Bon. Ca n'impactera guère que lui. Sans compter que la fonction "antixss" est fausse, mais bon...: strip_tags() n'utilise pas de référence, que je sache.
Le truc sur les cookies, j'aimerais bien le voir en action : on fait comment pour passer du renvoie de cookies (éventuels, encore faut-il que tu utilises des cookies sur ton site, hein, ou des sessions mais là ça implique aussi encore une autre façon d'avoir codé ton application) vers un autre site à "j'te pique ton compte"? Et un attaquant qui fait une attaque js le fait sur son poste, pas sur celui d'une présumée vtcime. Ou alors, la victime, c'est lui-même.
cs_Le13009
Messages postés5Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention19 novembre 2008 19 nov. 2008 à 01:48
salut
ben je vous remerci pour vos reponses, le gars je l'ai pas encore vu...... mais bon si vous me dites qui ya pas de crainte, je peux utiliser le script sans probleme alors ???
des que je revois le pote, je vais lui passer le lien de ce forum, pour qu'il vient se defondre :):).
merci
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 nov. 2008 à 08:18
Ceci dit, ça ne coûte rien de faire le htmlspecialchars() sur la variable GET hein.
Je suis allé voir le site que tu cites, mais le gars ne donne pas d'autre explication sur le comment.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 19 nov. 2008 à 19:13
Exact, je n'avais pas fait gaffe au tableau.
En effet, au pire, on a une notice undefined index. Je ne pense pas que la faille relevée sur le site provienne de ces lignes.
cs_Le13009
Messages postés5Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention19 novembre 2008 19 nov. 2008 à 23:10
salut
pour la faille, ils disent que c'est sur la page d'index.php et j'avais poster le code entier de la page au paravant et je vous le redonne :
http://pastecode.com/17761 si vous pouvez me dire si ya réelement une faille XSS vu que je me connai pas trop en php, enfin le script d'apres ce que j'ai vu est bien connu, est ce que vous avez testé le script Cyrixmed ???
franchement j'ai pas envie de me lancer dans un truc ou je risque d'avoir des soucis plus tard vous me comprenez :)
pour l'utilisation je pense que je l'ai deja signaler c'est pas en local mais c'est en purblic voila je vous remercie pour votre aide