
Forum » » Road map développement » » [Résolu] - Ghost formulaire dans user
Posté : 6 mars 2021, 17:52 
[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]
Cet article provient de Labo NPDS 2015-2025
https://labo.infocapagde.com/viewtopic.php?topic=1477&forum=21