website logo
Auteur
avatar
jpb

Forum » » Road map développement » » [Résolu] - Ghost formulaire dans user


Posté : 6 mars 2021 à 17:52 icone du post

après la ballade de pré couvre feu lol je suis entrain de finaliser le fichier text pour le patch que je mettrai sur npds en téléchargement et dans le forum et on fera une courte news pour inciter les webmaster à l'appliquer ensuite je modifie github une release 16.2.1 voici le fichier patch vos avis ....??? que je n'ai pas fait de boulette et que ce soit assez clair sans expliqué bien entendu la procédure .... bon quand je reviens de la douche j'espère avoir des retours 😀
[code php]
/************************************************************************/
/* DUNE by NPDS                                                         */
/* ===========================                                          */
/*                                                                      */
/* Patch sécurité ghostform                                             */
/* For NPDS REvolution 13, REvolution 16 à 16.2                         */
/*                                                                      */
/* NPDS Copyright (c) 2001-2021 by Philippe Brunier                     */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 3 of the License.       */
/*                                                                      */
/* 06/03/2021 : by @nicolas2 @jpb @npdstesteur                          */
/************************************************************************/

Problème :
sécurité 

Description :
faille permettant la création d'utilisateur hors de tout contrôle voire attaque xss !

Versions concernées :
de 13 à 16.2 et très probablement toutes les versions antiques ...

Niveau :
sérieux

Fichier concerné :
user.php

Application du patch :

REvolution 13
sélectionner les lignes 209 et 210

    global $NPDS_Prefix;
    global $makepass, $system, $adminmail, $sitename, $AutoRegUser, $memberpass, $gmt;

=> Remplacer par :

   global $NPDS_Prefix, $makepass, $system, $adminmail, $sitename, $AutoRegUser, $memberpass, $gmt, $NPDS_Key, $nuke_url;

   if(!isset($_SERVER['HTTP_REFERER'])) {
      Ecr_Log('security','Ghost form in user.php registration. => NO REFERER','');
      L_spambot('',"false");
      !include!('admin/die.php');
      die();
   }
   else if ($_SERVER['HTTP_REFERER'].$NPDS_Key !== $nuke_url.'/user.php'.$NPDS_Key) {
      Ecr_Log('security','Ghost form in user.php registration. => '.$_SERVER["HTTP_REFERER"],'');
      L_spambot('',"false");
      !include!('admin/die.php');
      die();
   }
   
REvolution 16 toutes versions

=> Trouver et sélectionner les lignes

function finishNewUser($uname, $name, $email, $user_avatar, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $pass,$user_lnl, $C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$M1,$M2,$T1,$T2,$B1) {
   global $NPDS_Prefix;
   global $makepass, $system, $adminmail, $sitename, $AutoRegUser, $memberpass, $gmt;   

=> Remplacer par :

function finishNewUser($uname, $name, $email, $user_avatar, $user_occ, $user_from, $user_intrest, $user_sig, $user_viewemail, $pass,$user_lnl, $C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$M1,$M2,$T1,$T2,$B1) {
   global $NPDS_Prefix, $makepass, $system, $adminmail, $sitename, $AutoRegUser, $memberpass, $gmt, $NPDS_Key, $nuke_url;

   if(!isset($_SERVER['HTTP_REFERER'])) {
      Ecr_Log('security','Ghost form in user.php registration. => NO REFERER','');
      L_spambot('',"false");
      !include!('admin/die.php');
      die();
   }
   else if ($_SERVER['HTTP_REFERER'].$NPDS_Key !== $nuke_url.'/user.php'.$NPDS_Key) {
      Ecr_Log('security','Ghost form in user.php registration. => '.$_SERVER["HTTP_REFERER"],'');
      L_spambot('',"false");
      !include!('admin/die.php');
      die();
   }

[/code]
L'eau goutte à  goutte finit toujours par percer la pierre...

Cet article provient de Labo NPDS 2015-2024
https://labo.infocapagde.com/viewtopic.php?topic=1477&forum=21