Renommer certaines tables SQL afin d'augmenter le niveau de sécurité

Un article de Wiki Maximus CMS.

On ne le rappellera jamais assez

La sécurité d'un site internet ne tient qu'à un fil.


Maximus étant basé sur PHPNuke, nous lui avons doté des fonctions bien spécifiques afin de ne plus avoir ( et ce, définitivement ) les mêmes failles de sécurités ...

La méthode la plus célèbre sous PHPNuke est une injection SQL portée sur la table SQL _authors qui contient toues les données des administrateurs, dès l'injection réussie il est alors possible où de se créer un compte ou encore plus vicieux d'usurper l'identité d'un des administrateurs. ( méthode utilisée maintes fois et toujours d'actualité pour PHPNuke )

Pour lutter contre ce type d'attaque,j'ai donc intégré dans Maximus un script de NSN NukeScripts que j'avais écrit vers 2002-2003 et qui a toujours été imparable contre toutes les tentatives de hacks.

Cela ne suffisait pas, et afin de pousser le bouchon plus loin, j'ai donc décidé pour la version Maximus BS de donner la possibilité de renommer les certaines tables SQL de Maximus.


Les tables les plus importantes à renommer ( et même à renommer obligatoirement ), sont les tables suivantes :

  * _authors
  * _config
  * _config_admin
  * _modules

Disons que ces 4 tables sont les plus visées lors d'attaque, donc il suffit de les renommer pour que toute injection SQL tombe à néant :)


Pour ce faire voici la méthodologie:

ouvrez le fichier kernel/constant.php

Ligne 23 vous retrouverez ceci:

 define('TABLE_AUTHORS', $prefix.'_authors');


Remplacez cette ligne par ( par exemple )

 define('TABLE_AUTHORS', $prefix.'_comptes_admins');


Maximus Fuzion BS, prendra compte de ce remplacement dans tous les modules instantanément, aussi pensez à renommer la table _authors via phpmyadmin pour que cela fonctionne


Faites à l'identique pour les autres tables SQL et le tour est joué :)


Cyril 4 jan 2007 à 17:39 (CET)
MAJ par PitBull 3 mar 2007 à 22:42 (CET)