MineWeb / MineWebCMS

🚀 A French Minecraft CMS since 2015 (used by +1k websites)
https://mineweb.org
GNU General Public License v3.0
93 stars 41 forks source link

Xss Protection #289

Closed nivcoo closed 2 years ago

nivcoo commented 2 years ago

Salut @Eywek j'ai fait une modif pour fix les failles xss du panel admin, dis moi ce que tu en penses, j'ai mis aussi un array avec les anciennes valeurs car par exemple la partie "end_code" dans la configuration permet de mettre des scripts donc il faut pas mettre la protection sur ça.

J'ai fais : $datas = $this->request->data; $this->request->data = $this->xssProtection($datas); (cette fonction appelle le EySecurity pour protéger les champs et sous champs) $this->request->data["xss"] = $datas;

Dans un premier temps je protèges tous les champs et idem dans les tableaux. Ensuite je crée un tableau xss qui contient les anciennes valeurs pour les controllers qui en ont besoin.

Je ne sais pas si c'est une bonne méthode mais ça fonctionne parfaitement, j'attends ton retour avant de push sur le dev.

Eywek commented 2 years ago

Fais une PR, je suis pas sûr de comprendre de quelles failles tu parles stp

nivcoo commented 2 years ago

Fais une PR, je suis pas sûr de comprendre de quelles failles tu parles stp

Beh enfaite tout le panel admin est sujet aux failles XSS et c'est comme ça depuis le début on le sait mais comme c'est pas ouvert au publique beh c'était pas trop important

nivcoo commented 2 years ago

Fais une PR, je suis pas sûr de comprendre de quelles failles tu parles stp

Donc pour le coup je protège tous les résultats des requêtes dans le appcontroller comme ça il n'y a plus de soucis (comme ferait laravel ou autre framework)

nivcoo commented 2 years ago

https://github.com/MineWeb/MineWebCMS/pull/290