From 418f5d74d2ea8b3701fbd369a5b4a80059a7506d Mon Sep 17 00:00:00 2001 From: fredtempez Date: Sat, 6 Feb 2021 20:01:10 +0100 Subject: [PATCH 1/6] =?UTF-8?q?Faille=20csrf=20:=20r=C3=A9initialisation?= =?UTF-8?q?=20du=20custom.css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 1 + core/module/theme/theme.php | 60 ++++++++++++-------- core/module/theme/view/admin/admin.php | 2 +- core/module/theme/view/advanced/advanced.php | 2 +- core/module/theme/view/manage/manage.php | 2 +- 5 files changed, 40 insertions(+), 27 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e1a6c91c..43ae8d78 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ Corrections : - Thème : déformation des images en arrière-plan dans les modes responsives cover et contain lorsque la longueur de la page change. L'image en arrière-plan est désormais placée dans la balise html et l'option fixe s'active lorsque cover ou contain sont sélectionnés. - Thème : déformation du sélecteur de fichiers dans certains formats de page. - Module Form : mauvais affichage du guillemet et de l'apostrophe dans les noms des champs lors de l'édition. + - Thème : faille CSRF, protection de la réinitialisation des fichiers de thème. - Modifications : - Filtrage des URL générées par facebook (FBCLID) occasionnant une erreur 404 - Captcha arithmétique, activation recommandée dans la configuration. diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index a1820966..ff7c231e 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -533,31 +533,43 @@ class theme extends common { * Réinitialisation de la personnalisation avancée */ public function reset() { - // Supprime le fichier de personnalisation avancée - $redirect =''; - switch ($this->getUrl(2)) { - case 'admin': - $this->initData('admin'); - $redirect = helper::baseUrl() . 'theme/admin'; - break; - case 'manage': - $this->initData('theme'); - $redirect = helper::baseUrl() . 'theme/manage'; - break; - case 'custom': - unlink(self::DATA_DIR.'custom.css'); - $redirect = helper::baseUrl() . 'theme/advanced'; - break; - default : - $redirect = helper::baseUrl() . 'theme'; - } + // $url prend l'adresse sans le token + $url = explode('&',$this->getUrl(2)); - // Valeurs en sortie - $this->addOutput([ - 'notification' => 'Réinitialisation effectuée', - 'redirect' => $redirect, - 'state' => true - ]); + if ( isset($_GET['csrf']) + AND $_GET['csrf'] === $_SESSION['csrf'] + ) { + // Réinitialisation + $redirect =''; + switch ($url[0]) { + case 'admin': + $this->initData('admin'); + $redirect = helper::baseUrl() . 'theme/admin'; + break; + case 'manage': + $this->initData('theme'); + $redirect = helper::baseUrl() . 'theme/manage'; + break; + case 'custom': + unlink(self::DATA_DIR.'custom.css'); + $redirect = helper::baseUrl() . 'theme/advanced'; + break; + default : + $redirect = helper::baseUrl() . 'theme'; + } + + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Réinitialisation effectuée', + 'redirect' => $redirect, + 'state' => true + ]); + } else { + // Valeurs en sortie + $this->addOutput([ + 'notification' => 'Jeton incorrect' + ]); + } } diff --git a/core/module/theme/view/admin/admin.php b/core/module/theme/view/admin/admin.php index 134e4bba..46c20ff3 100755 --- a/core/module/theme/view/admin/admin.php +++ b/core/module/theme/view/admin/admin.php @@ -16,7 +16,7 @@
'buttonRed', - 'href' => helper::baseUrl() . 'theme/reset/admin', + 'href' => helper::baseUrl() . 'theme/reset/admin' . '&csrf=' . $_SESSION['csrf'], 'value' => 'Réinitialiser', 'ico' => 'cancel' ]); ?> diff --git a/core/module/theme/view/advanced/advanced.php b/core/module/theme/view/advanced/advanced.php index c13fbd91..f1895306 100755 --- a/core/module/theme/view/advanced/advanced.php +++ b/core/module/theme/view/advanced/advanced.php @@ -10,7 +10,7 @@
helper::baseUrl() . 'theme/reset/custom', + 'href' => helper::baseUrl() . 'theme/reset/custom' . '&csrf=' . $_SESSION['csrf'], 'class' => 'buttonRed', 'ico' => 'cancel', 'value' => 'Réinitialiser' diff --git a/core/module/theme/view/manage/manage.php b/core/module/theme/view/manage/manage.php index 68de0814..42658cd9 100755 --- a/core/module/theme/view/manage/manage.php +++ b/core/module/theme/view/manage/manage.php @@ -11,7 +11,7 @@
'buttonRed', - 'href' => helper::baseUrl() . 'theme/reset/manage', + 'href' => helper::baseUrl() . 'theme/reset/manage' . '&csrf=' . $_SESSION['csrf'], 'value' => 'Réinitialiser', 'ico' => 'cancel' ]); ?> From 8da4cc0cfaa2bc88aa401e30240c171eb7ca4355 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Sun, 7 Feb 2021 14:08:00 +0100 Subject: [PATCH 2/6] typos --- CHANGES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 43ae8d78..58d31453 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,7 +3,7 @@ ## version 10.4.00 Corrections : - Bug de pages non accessibles dans le menu suite à la création d'entrées fantômes dans le fichier de données de modules. - - Nettoyage du fichiers des données de modules des entrées fantômes. + - Nettoyage du fichier des données de modules des entrées fantômes. - Thème : déformation des images en arrière-plan dans les modes responsives cover et contain lorsque la longueur de la page change. L'image en arrière-plan est désormais placée dans la balise html et l'option fixe s'active lorsque cover ou contain sont sélectionnés. - Thème : déformation du sélecteur de fichiers dans certains formats de page. - Module Form : mauvais affichage du guillemet et de l'apostrophe dans les noms des champs lors de l'édition. @@ -13,7 +13,7 @@ Corrections : - Captcha arithmétique, activation recommandée dans la configuration. - Module User - Pour les articles de blog et de news, choix de la signature, nom+prenom ; nom+prenom ; id ; pseudo - - Importation d'un liste d'utilisateur dans un fichier plat (CSV). + - Importation d'une liste d'utilisateur dans un fichier plat (CSV). - Module Blog : - Texte du commentaire enrichi. - Nombre maximal de caractère par commentaire. From 1900495cd6810bf3bfea866a27a85712066962e0 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Sun, 7 Feb 2021 14:20:34 +0100 Subject: [PATCH 3/6] numero de version court --- core/core.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/core.php b/core/core.php index 3f47ba4d..2aa2a9c0 100755 --- a/core/core.php +++ b/core/core.php @@ -44,7 +44,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.4.00.015'; + const ZWII_VERSION = '10.4.00'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; From cff5bb8a4a6ac4a3e623ab7df6effce0cb66f2df Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 8 Feb 2021 18:33:15 +0100 Subject: [PATCH 4/6] 10401 et module form, erreur de syntaxe --- CHANGES.md | 4 ++++ core/core.php | 2 +- module/form/form.php | 2 +- module/form/view/config/config.php | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 58d31453..d61864f9 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## version 10.4.01 +Corrections : + - Module form, erreur de syntaxe. + ## version 10.4.00 Corrections : - Bug de pages non accessibles dans le menu suite à la création d'entrées fantômes dans le fichier de données de modules. diff --git a/core/core.php b/core/core.php index 2aa2a9c0..21438b89 100755 --- a/core/core.php +++ b/core/core.php @@ -44,7 +44,7 @@ class common { const ACCESS_TIMER = 1800; // Numéro de version - const ZWII_VERSION = '10.4.00'; + const ZWII_VERSION = '10.4.01'; const ZWII_UPDATE_CHANNEL = "v10"; public static $actions = []; diff --git a/module/form/form.php b/module/form/form.php index 3b17c1f4..a47a0ec7 100755 --- a/module/form/form.php +++ b/module/form/form.php @@ -32,7 +32,7 @@ class form extends common { public static $pagination; - const FORM_VERSION = '2.6'; + const FORM_VERSION = '2.7'; // Objets const TYPE_MAIL = 'mail'; diff --git a/module/form/view/config/config.php b/module/form/view/config/config.php index 00783b82..5d2e8946 100755 --- a/module/form/view/config/config.php +++ b/module/form/view/config/config.php @@ -104,7 +104,7 @@ 'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'group']), 'help' => 'Editeurs = éditeurs + administrateurs
Membres = membres + éditeurs + administrateurs' ]); ?> -
="row"> +
'A un membre', From 40ca6378a2377766d91f227bbc31b51080dfa844 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 8 Feb 2021 18:44:15 +0100 Subject: [PATCH 5/6] =?UTF-8?q?Erreur=20de=20contr=C3=B4le=20du=20th=C3=A8?= =?UTF-8?q?me?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/theme/theme.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index ff7c231e..32da51ec 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -656,7 +656,7 @@ class theme extends common { // traitement de l'erreur $notification = $success ? 'Le thème a été importé' : 'Erreur lors de l\'extraction, vérifiez les permissions.'; // Check le thème - $this->checkImport($modele); + // $this->checkImport($modele); } else { // pas une archive de thème $success = false; From 878b3ecbb138b472d5a46bf0d23abf1f7e83a26e Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 8 Feb 2021 18:47:47 +0100 Subject: [PATCH 6/6] change --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index d61864f9..55eb8cff 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ ## version 10.4.01 Corrections : - Module form, erreur de syntaxe. + - Chargement d'un thème, désactivation du contrôle des clés. ## version 10.4.00 Corrections :