Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 18-08-2009 16:23:10

Dk
Membre

Faille SQL avec mod

Bonjour,

Je cherchais un MOD pour changer de groupe automatiquement après avoir posté un sujet sur un forum précis.

Je suis tombé sur ça : http://www.punbb.fr/forums/viewtopic.php?id=9578


Le membre fanf73 propose une modification.

Je l'ai testée sur mon forum et aujourd'hui plusieurs membres ont réussis à se connecter en tant qu'administrateur donc à changer leur groupes.

Apparemment un membre (phpmyadmin) sur l'id 1 qui doit être Guest à été modifié par Jerry, c'est la seule donnée visible.


Je ne sais pas si c'est un hackeur qui a modifié les groupes pour tous ou si il a rendu possible la zone administration aux membres.

Plus de peur que de mal, mais je tenais à informer la communauté.

A noter aussi qu'ils sont administrateurs sans être dans la liste des administrateurs.

Dernière modification par Dk (18-08-2009 16:26:53)

Hors ligne

#2 18-08-2009 16:35:15

fanf73
Wik-wiki

Re : Faille SQL avec mod

Je doute grandement que ton soucis provienne de la modification que j'ai proposé. Si on la reprend :

// Changement de groupe
if($pun_user['g_id'] == ID_GP_TEMP AND $fid == ID_FORUM)
         $db->query('UPDATE '.$db->prefix.'users SET group_id=ID_NEW_GROUP WHERE id='.$pun_user['id']) or error('Unable to change user group', __FILE__, __LINE__, $db->error());

En remplaçant bien :
- ID_GP_TEMP par l'id du groupe temporaire
- ID_FORUM par l'id du forum dans lequel ils doivent poster
- ID_NEW_GROUP par l'id du nouveau groupe

Elle permet de faire un passer un membre du groupe "ID_GP_TEMP" au groupe "ID_NEW_GROUP", donc elle ne peut pas faire passer un membre dans le groupe administrateur à moins que l'on spécifie ce groupe dans la requête (ce qui serait très con).

Donc ton soucis doit venir d'ailleurs (qu'on me le dise si mon raisonnement est faux et qu'il y a une faille dans mon astuce).

Tu as du installer une autre mod qui modifie les droits parce que par défaut, les membres doivent appraitre en tant qu'administrateur s'ils sont dans ce groupe.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#3 18-08-2009 16:37:59

Dk
Membre

Re : Faille SQL avec mod

Et bien le dernier mod que j'ai installé était allow html uniquement pour administrateur. Que j'ai vite enlevé.

Et je suis sur de ne pas m'être trompé dans les ID,...
P-e pendant l'ajout d'un forum avant celui ID_GP_TEMP causerait un problème de ce genre ?

Hors ligne

#4 18-08-2009 16:49:35

fanf73
Wik-wiki

Re : Faille SQL avec mod

Je ne pense pas non.

Dk a écrit :

Apparemment un membre (phpmyadmin) sur l'id 1 qui doit être Guest à été modifié par Jerry, c'est la seule donnée visible.

Pourrais-tu détailler ça, j'ai un peu de mal à suivre.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#5 18-08-2009 16:56:29

Dk
Membre

Re : Faille SQL avec mod

Dans la table user de base:

http://www.monsterup.com/upload/1250607226248.png

Après le hack le password était changé par Jerry.
Des administrateurs sont apparus et je ne pouvais pas les bannir car ils redirigeaient leurs profils vers http://XXX.com/profile.php?id=1 qui est un lien périmé.

J'ai du supprimer la ligne guest et remettre l'original pour retrouver un forum correct.

Hors ligne

#6 18-08-2009 17:16:44

fanf73
Wik-wiki

Re : Faille SQL avec mod

Des administrateurs sont apparus avec pour id_profil 1 ? Comment ça apparus ? Tu avais une liste de pseudos en bas de ton forum ? De quel manière pouvais-tu voir que c'était des admins ?


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#7 18-08-2009 17:26:27

Dk
Membre

Re : Faille SQL avec mod

Je possède une chatbox et j'ai mis [Admin] (Titre (ou fonction) affiché dans la ChatBox) en face de chaque pseudo d'administrateur.
Et des membres que je ne connaissais pas ont écrit des messages avec la balise [Admin] devant leurs pseudos.
Ils pouvaient voir les IP et supprimer des messages,...

Quand je cliquais vers leur profil :

Erreur. Le lien que vous avez suivi est incorrect ou périmé.

Retour

Alors que les autres profils fonctionnaient parfaitement.

Dernière modification par Dk (18-08-2009 17:29:08)

Hors ligne

#8 18-08-2009 17:28:38

fanf73
Wik-wiki

Re : Faille SQL avec mod

Vu ce que tu me dis je pense que, d'une façon ou d'une autre, les invités sur ton forum se sont retrouvés avec les droits d'administration ou ont été reconnus comme des admins par ta chatbox.

EDIT : et comme il s'agissait d'invité et qu'il n'existe pas de profils pour les invités, c'est normal que tu te sois retrouvé avec cette erreur en cliquant sur leur pseudo.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#9 18-08-2009 17:30:34

Dk
Membre

Re : Faille SQL avec mod

Je vous tiens au courant si un petit malin recommence.

Dernière question : J'ai ajouté un forum donc les ID des forums ont été chamboulé, c'est p-e la raison ? Non ? Un forum redirection pour être plus précis.

Dernière modification par Dk (18-08-2009 17:32:06)

Hors ligne

#10 18-08-2009 17:31:02

Krabator
Membre

Re : Faille SQL avec mod

Une des caractéristiques qui différencie l'homme des autres mammifères, c'est son pouvoir d'abstraction.

Il faudrait que tu te mettes à notre place et que tu imagines que nous ne connaissons rien à ton problème.

Plus le problème est délicat et plus il faut prendre le temps de l'expliquer en détail.

De mon point de vue, je ne comprend rien à tout cela.

De façon pus générale, je te conseille de faire deux environnements :
Un de test
Un de production

Si tu fais une bêtise en test, ton site ne sera pas impacté comme cela.

Hors ligne

#11 18-08-2009 17:35:32

fanf73
Wik-wiki

Re : Faille SQL avec mod

Dk a écrit :

Dernière question : J'ai ajouté un forum donc les ID des forums ont été chamboulé, c'est p-e la raison ? Non ? Un forum redirection pour être plus précis.

Les ID des forums ne sont jamais chamboulé, même quand on en ajoute, supprime ou change l'ordre. L'id du forum lui est propre (à moins d'aller jouer à la main dans la base), seul le champ "ordre" est modifié.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#12 18-08-2009 17:39:01

Dk
Membre

Re : Faille SQL avec mod

Un membre s'inscrit : Il est X groupe.
Il ne peut voir tout les forums.
Pour les voir, ils doit se présenter.
En se présentant il devient automatiquement Z groupe.

L'ajout d'un forum a permuté les "ID_FORUM".
L'ancienne ID_FORUM se retrouve sur un forum qui n'est pas visible par le X groupe.

Je comprend que le script est bug, mais de la à se retrouver avec des comptes administrateurs en plus... Je ne comprend pas.

Je vais tester le forum en local, merci.


EDIT : Ah ok les forums ne changent pas d'ID.

Dernière modification par Dk (18-08-2009 17:42:49)

Hors ligne

#13 18-08-2009 17:40:28

Krabator
Membre

Re : Faille SQL avec mod

fanf73 a écrit :

Vu ce que tu me dis je pense que, d'une façon ou d'une autre, les invités sur ton forum se sont retrouvés avec les droits d'administration ou ont été reconnus comme des admins par ta chatbox.

EDIT : et comme il s'agissait d'invité et qu'il n'existe pas de profils pour les invités, c'est normal que tu te sois retrouvé avec cette erreur en cliquant sur leur pseudo.

Dans FluxBB, les groupes sont identifiés de façon croissantes (pas sur de l'ordre)
1 admin
2 modo
3 members
4 guest

dans la chat box, les droits admin sont attribués au groupe inférieur à un numero de groupe appelé PUN_GUEST

if ($pun_user['g_id'] < PUN_GUEST) {
            $cur_msg_admin = ' [ <a href="chatbox.php?get_host='.$cur_msg['m_id'].'">'.$cur_msg['poster_ip'].'</a>';


                        /*********************** Petite modification ici ***********************/
                                    
            if ($cur_msg['poster_email'])
            {
                $cur_msg_admin .= ' | <a href="mailto:'.$cur_msg['poster_email'].'">'.$lang_common['E-mail'].'</a> ] ';
                $cur_msg_admin .= '[ <a href="chatbox.php?mod_post='.$cur_msg['m_id'].'"> Modifier </a> ] [ <a href="chatbox.php?del_post='.$cur_msg['m_id'].'"> Supprimer </a> ]';
            }
            else
            {
                $cur_msg_admin .= ' ] ';
                $cur_msg_admin .= '[ <a href="chatbox.php?mod_post='.$cur_msg['m_id'].'"> Modifier </a> ] [ <a href="chatbox.php?del_post='.$cur_msg['m_id'].'"> Supprimer </a> ]';
            }    
                        /*********************** Fin modification  ****************************/    
        }
        else
            $cur_msg_admin = '';

PUN_GUEST c'est une variable globale... si vous avez changé l'id du groupe guest il se peut que les invités soient passé en admin (exemple si l'id du groupe guest est à 0)

Mais à ma connaissance, cela ne veut pas dire que les invités soient admin sur tous le forum

Dernière modification par Krabator (18-08-2009 17:43:43)

Hors ligne

#14 18-08-2009 17:44:38

Dk
Membre

Re : Faille SQL avec mod

Je n'ai pas changé l'id du groupe guest, c'est ça le problème.
Le pirate à du le faire, mais aucune intrusion dans le FTP ni PHPmyadmin

Hors ligne

#15 18-08-2009 17:46:04

Krabator
Membre

Re : Faille SQL avec mod

dans ce cas, peux tu nous donner les ids de chacun de tes groupes s'il te plait ?

Hors ligne

#16 18-08-2009 17:51:33

fanf73
Wik-wiki

Re : Faille SQL avec mod

As-tu modifié le fichier "chatbox.php" ou le bout de code que tu ajoutes sur l'index pour l'afficher au cas où elle s'affiche sur l'index ?


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#17 18-08-2009 17:53:45

Dk
Membre

Re : Faille SQL avec mod

1 Administrateurs
2 Modérateurs
3 Invités
4 Membre
5 Péon

Une personnes s'inscrit elle devient Péon.
Pour passer membre elle doit se présenter.

Et non je n'ai pas modifié le fichier chatbox. sad

Dernière modification par Dk (18-08-2009 17:54:39)

Hors ligne

#18 18-08-2009 18:30:03

Krabator
Membre

Re : Faille SQL avec mod

arg mon idée tombe à l'eau...

je ne vois pas...

Hors ligne

#19 18-08-2009 21:29:16

adaur
Membre

Re : Faille SQL avec mod

3 Invités

Sûr ?

C'est le 1 normalement =/


"As code is more often read than written it's really important to write clean code." - Franz
Twitter: @adaurfr
Mon fork de FluxBB: FeatherBB

Hors ligne

#20 18-08-2009 22:56:14

fanf73
Wik-wiki

Re : Faille SQL avec mod

L'invité à pour id_user 1 mais l'id de son groupe est 3.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#21 19-08-2009 16:05:49

mangafan
Membre

Re : Faille SQL avec mod

Salut,

On peut aussi commencer par le début, ton forum est-il à jour ?

J'en doute fort en voyant le footer. Parce que le groupe guest qui se retrouve admin c'est une vieille faille sql de punbb lui même et ça date pas d'hier.

N'importe quel bot hack scanne ta page via un moteur de recherche et lance l'exploit en perl et zouh le problème et de retour.


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

Pied de page des forums