que ceux qui ont tout compris lèvent la main
merci à emmanuel et aux quelques spécialistes tous bénévoles il faut le rappeler pour leur aide efficace
nous sommes pour la plupart des généalogistes pas des informaticiens et ils nous aident de leur mieux
avec ce "minimum de POO pour la modularité", je commence à me gratter la tête
Cordialement
Patrick
P avant d'imprimer, pensez à l'environnement
envoyé : 8 septembre 2022 à 14:37
de : Paul-Axel Marie <paulaxe...@gmail.com>
à : Expoactes <expo...@googlegroups.com>
objet : [ExpoActes] Faille de sécurité | Injection PHP / JS | update.php 3.2.4 sur php 5.6
Bonjour,
Juste pour signaler qu'il y a une injection qui a été opéré par un bot "asiatique" sur mon instance.
Lors de la migration, le /update.php affiche des caractères asiatiques.
Dans le code html front end, le fichier connect.inc.php est affiché en clair en conmmentaire html.
Je supprime le fichier /tools/js/cookieconsent.min.js qui contient une injection externe.
Car il y avait une potentielle faille de sécurité lié à une injection amazonaws du même type déjà sur 3.2.2:
"<script type="text/javascript" src="//s3.amazonaws.com/cc.silktide.com/cookieconsent.latest.min.js"></script>"
Suite à cela la page update.php fonctionne, lien bleu vers /configuration.php
Lors de l'accès à cette page gros pavé de caractères asiatiques et toujours les login de base de données du fichier connect.inc.php affichés publiquement.
Exemple des caractères sur la page configuration obtenue:
Après vérification de source le code serveur n'a pas été modifié, il s'agit d'un exploit de navigateur et je ne connais pas le détail de la faille.
/install/configuration.php
En regardant le code de Emmanuel Lethrosne du fichier "configuration.php", j'observe qu'il y a des morceaux de code généré et copié à l'arrache avec une lisibilité désastreuse, je note beaucoup d'injection de variables sans aucun formatage de type et de données. Des opérations de fichier sans try/catch et autre. Des injections dynamique de balises php en string avec des contextes fonctionnels tous mis ensemble sans séparation.
Un "</script>" au milieu du header.
La faille vient peut être d'ailleurs, du code principal; mais le fait que le code de mise à jour ne respecte pas les bonnes pratiques PHP et l'encapsulation de variable avec un minimum de POO pour la modularité des tâches fonctionnelles à effectuer, ça rend le code fourre tout "cambouis" et qui amène donc à des failles, des erreurs et à l'exposition publique des données privées.
Globalement la structuration actuelle du code empêche les autres devs/utilisateurs de facilement localiser les failles et d'apporter des correctifs/patch qui ne soient pas du bidouillage.
Le manque de maitrise, de modularité, l'absence de tests unitaires et fonctionnel, le manque de QA (qualité) avant de délivrer une mise à jour pour le code d'expoactes expose les utilisateurs à des risques de fuites de données et de hack de leur serveur/système d'information.
Je maintiens les remarques que j'ai faites sur expoactes les années précédentes.
Les choix des outils comme la génération de CSS CasCadeS de Mozilla Composer en 2022 est une blague par exemple. Mozilla Composer a été abandonné en 2005. Pareil pour le code custom de MyOOS-dumper. Et il y en a pleins d'autre des comme ça dans le code. Enfin bref.
Après la suppression des dépendances js la mise à jour est passé en 3.2.4.
PHP8 sera mis en place pour sécuriser l'ensemble des failles de php5.6 qui ne reçoit plus de mise à jour de sécurité depuis 2018. (avis à ceux qui utilisent encore php5).
Voici pour les informations.
Je reconnais que expoactes rend de nombreux services de self-hosting en généalogie.
Mais c'est l'implémentation du code, la maintenabilité de l'outil qui me consterne, notamment quand ça engendre des failles de sécurités et de nombreux bugs.--
Voir aussi le site : https://expoactes.monrezo.be/
et le Wiki : https://sites.google.com/site/expoactes/
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe « ExpoActes » de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à expo...@googlegroups.com
Pour résilier votre abonnement à ce groupe, envoyez un courrier
électronique à l'adresse expoactes-...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse https://groups.google.com/g/expoactes
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Expoactes".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/3e8f6eb1-b47c-49ed-b3ae-501acafe3dd6n%40googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/1500650497.268941.1662659253620.JavaMail.open-xchange%40opme11oxm28aub.pom.fr.intraorange.