Je m'interroge sur cet extrait de recuperer_fond de inc/utils:
if (isset($contexte['fond'])
// securite anti injection pour permettre aux plugins de faire
// des interfaces avec simplement recuperer_fond($fond,$_GET);
AND $contexte['fond']!==_request('fond'))
$fond = $contexte['fond'];
est-ce seulement dû au fait que dans balises.php balise_INCLUDE l'appele avec un argument vide:
"recuperer_fond('',
Si oui, il vaudrait mieux changer cet appel à la compil, car on peut avoir des situations où il existe un paramètre fond qui à la même valeur mais ne représente pas un danger, et c'est alors incompréhensible pour l'auteur du squelette.
Je m'interroge sur cet extrait de recuperer_fond de inc/utils:
if (isset($contexte['fond'])
// securite anti injection pour permettre aux plugins de faire
// des interfaces avec simplement recuperer_fond($fond,$_GET);
AND $contexte['fond']!==_request('fond'))
$fond = $contexte['fond'];
est-ce seulement dû au fait que dans balises.php balise_INCLUDE l'appele avec un argument vide:
"recuperer_fond('',
Plus exactement, c'est du au fait qu'à un moment recuperer_fond a été modifié pour que le paramètre passé en contexte soit prioritaire quel que soit la valeur de $fond dans le premier argument.
Du coup un une url du type
?page=trucautorisé&fond=chemin/vers/fond/qui/divulgue/des/infos&...
ou dans ecrire
ecrire/?exec=execlegitime&fond=chemin/vers/fond/qui/divulgue/des/infos&...
permet, sans la sécurité ci-dessus, de hacker
- le premier include qui passe {env} dans un squelette
- ou le premier recuperer_fond("monfond",$_GET); dans le php
pour lui faire inclure n'importe quoi.
Si oui, il vaudrait mieux changer cet appel à la compil, car on peut avoir des situations où il existe un paramètre fond qui à la même valeur mais ne représente pas un danger,
Comment faire la différence, dans ce cas ? Comment être sûr que le 'fond' ne vient pas de l'url ?
et c'est alors incompréhensible pour l'auteur du squelette.
Je ne comprends toujours pas. A la compil, #INCLUDE doit forcément contenir "fond=", il suffit de prendre le code compilé qui lui correspond, et de le coller comme premier argument de recuperer_fond non ?