Forge Forge/ Cultivons !  by Franck Hisbergue
  Connexion  -  Fr / En
CLosed
Ticket [6] : [Bug] Possibilité de télécharger la base SQLITE en ligne by xulops-cultivons@zapoyok.info - 2022-10-05 12:38:01
[16] xulops-cultivons@zapoyok.info - 2022-10-05 12:38:01

https://cultivons-demo.xulops.net/bin/telechar.php?fichier=db/cultivons.db&verif=4c921214166ea11765518d41de5bda23


Voir : https://xulops.net/forge/cultivons.php?menu=viewticket&pk=3 pour les conséquences.

[17] xulops-cultivons@zapoyok.info - 2022-10-05 12:41:40
L'url correcte est : https://cultivons-demo.xulops.net/bin/telechar.php?fichier=../db/cultivons.db&verif=c52bc12a9e01c619356837bccd4eb1e0
[18] Franck Hisbergue - 2022-10-05 12:48:45
C'est ok pour interdire cultivons.db, mais je suis plus ennuyé pour les sauvegardes qui, elles, doivent pouvoir être téléchargées. Leur nom est moins prévisible, mais tout de même, va falloir que je trouve une astuce.

Merci encore pour toutes ces remarques.
[19] xulops-cultivons@zapoyok.info - 2022-10-05 13:10:32
Pas parfait mais ne pourrais t'on pas avoir un sel paramétrable plutôt qu'en dur dans ton code.

Dans les instructions d'installation il faut simplement indiquer que ce paramètre est essentiel à personnaliser.

Aujourd'hui tu n'as pas de configuration il me semble mais cela pourrait être un tout premier pas pour empêcher/ralentir un vol de fichier sans avoir à tout changer.

De plus tu devrait vérifier que le fichier demandé est bien dans l'arborescence du site internet car là on peut aller chercher des fichiers .zip, .xls ou .db n'importe ou sur le serveur.

Exemple sur mon installation :
http://localhost:9090/bin/telechar.php?fichier=../../../tmp/test.xls&verif=c1d447f320a8ac01abac3eeaec1e091c


[21] Franck Hisbergue - 2022-10-05 18:26:45
Je peux tout à fait générer aléatoirement un sel la première fois et utiliser celui-là ensuite, c'est une bonne idée.

Je vais aussi brider le chemin de telechar.php. Il est bridé sur ma machine par la config d'apache, mais c'est en effet mieux de le brider aussi dans le code quelque soit la config serveur.
[23] Franck Hisbergue - 2022-10-06 01:38:16
Un sel spécifique au serveur est créé au premier besoin et stocké en base de données. Deux installations n'auront donc pas le même sel, il ne sera donc plus possible de prévoir facilement le code de vérif pour télécharger un fichier.

J'ai aussi ajouté une vérification du chemin pour que le téléchargement en dehors du document_root du site ne soit plus possible.

Je clos le ticket, un autre peut être ouvert sur le sujet si besoin.