logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
18 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 110 635 995

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Sécurité »» [Résolu] - admin.php : une idée de solution

[Résolu] - admin.php : une idée de solution#8834

9Contributeur(s)
developpeurPatrickserge81cheevassAnonymeHerveTribal-Dolphinsnipeaxel
3 Modérateur(s)
developpeurjpbJireck
developpeur developpeuricon_post
le patch actuel à ses limites, il faut donc trouver une solution définitive.

Hors NPDS ne peut pas être completement ré-écris sous prétexte de l'admin.php de certains CMS est au format gruyère ...

Il faut une solution avec comme idée est de faire encore plus "secure" donc :
=> un script qui permette de modifier pour chaque site :
- le nom du fichier admin.php
- le nom du fichier config.php
- de recoder en dur (donc directement dans les fichiers) ces informations

=> ce script serait autonome de NPDS, applicable sur toute les versions 4.8-P2 et +

Voila l'idée, reste à le coder ce truc ...

A suivre donc
Patrick Patrickicon_post
Moi je le sens bien... pour demain matin !
Non, sans rire, je crois effectivement que NPDS soit s'affranchir de ses pères pour se mettre à l'abri des beaux-fils rénégats. Il est en tous cas inacceptable que toute une communauté soit rejetée sur base d'une attaque qui, apparemment, n'est pas particulièrement concentrée sur elle. En font les frais le sites dénués de tout intérêt commercial, encore une fois, pour protéger les autres. Et c'est normal et humain, et business oblige... impératif.
Mais bordel de merde...
serge81 serge81icon_post
Question : suffit-il de renommer "admin.php" en "autrechose.php" pour contourner les dispositions de OVH ?
Car si c'est le cas il suffit de coder un script "scan_and_replace.php" qui automatiquement va s'en charger en scannant tous les fichiers de NPDS et en procédant au remplacement. En somme un patch automatique...
Ou bien j'ai pas bien compris?... :-?
cheevass cheevassicon_post
faudrais t'il carement pas changer d'hebergeur ? c'est peux etre plus simple encore, non ?
Anonyme Anonymeicon_post
Ouais, mais finalement en changeant d'hébergeur, tu ne fait que déplacer le problème. Le trou phpnuke existe, et n'importe quel hébergeur est sucseptible d'être attaqué, et il prendrait alors des décisions du même genre.

C'est néanmoins vrai que peu d'hébergeurs possedent les capacité en bande passante d'ovh, et que donc ils sont biens moins attractifs à d'éventuels hackers.
Herve Herveicon_post
je n'y connais rien en php, mais je dirais que la solution serait de faire une variable du nom du fichier config.php, à renseigner lors de l'installation ; idem pour admin.php.
Voilà ! j'espère que je n'ai pas dit une grosse bêtise ou que ce n'est pas un travail monstre de recodage ! :-D
Tribal-Dolphin Tribal-Dolphinicon_post
En effet, je serais d'avis à mettre une variable $adminfile = "truc.php"; $configfile = "machin.php";

Dit comme ça c simple MAIS, toutes les configurations sont dans config.php et on veut modifier son nom.
Donc, il va falloir mettre ces 2 déclarations ($adminfile et $configfile) ailleurs ( header.before peut-être ? )

Mais le gros boulot vas être de scanner tous les appels à ces fichiers pour les renommer ...

A Suivre donc !

snipe snipeicon_post
config c simple :)

il aparait que dans mainfile.php a moin qu un mec est mal developer son module :)
admin.php ci la faut tous se refaire :( meme les module, les module personel ...;
la sa vas devenir braucoup plus hard :)

Parcontre plutot que des variable, je pencherai plus pour un defined question secu :p
Tribal-Dolphin Tribal-Dolphinicon_post
Très bien vu Snipe !
developpeur developpeuricon_post
le script de modif est en route ... c'est carrement (pour l'instant) du hardcodding ... comme cela rien ne traine !

Cela prendra en charge tout le site (modules y compris) et devrait marcher sur presque tous les NPDS voir même sur les PhpNuke.

Il me faut encore bosser dessus, alors patience

PS : pour snipe
- lecture de toute l'arbo du site
- création d'un répertoire stockant les fichiers transformés
- transformation des fichiers
=> reste ensuite plus qu'a copier les fichiers dans leurs emplacements d'origines

Le script peut être relancé pour changer les noms, ou lorsqu'un patch est installé

T'en pense quoi ?
Anonyme Anonymeicon_post
Salut,
Je pense d'ici demain terminer le paramétrage exact du code ci dessous. Fichier "repare_admin.php"
Il sufira de le placer sur la racine de votre répertoire NPDS puis de le lancer...
Cela devrait marcher.

<?
//Transform all admin.php scripts to admin_safe.php including content

//Transform a admin.php to admin_safe.php

function PHP3_2_PHP($file,$delete='keep')
{

if (ereg('\.php$',$file))
{
$file2 = str_replace('admin.php','admin_safe.php',$file);
$from_file = fopen($file,'r');
$to_file = fopen($file2,'w');
while ($line = fgets($from_file,4096))
{
$line = str_replace('admin.php','admin_safe.php',$line);
fputs($to_file,$line);
}
fclose($from_file);
fclose($to_file);

if ($delete == 'del')
unlink($file);
}
}

//Explore dir and subdirs ro transform
function TRANSFORM_SUBDIR($directory)
{
if (!ereg('/$',$directory))
$directory .= '/';

$dir = opendir($directory);
while ($file = readdir($dir))
{
if ($file != '.' && $file != '..')
{
if (is_dir($directory.$file))
$subdirs[] = $directory.$file.'/';
elseif(is_file($directory.$file))
PHP3_2_PHP($directory.$file,'del');
}
}
closedir($dir);

if (is_array($subdirs))
{
while (list($id,$sub) = each($subdirs))
TRANSFORM_SUBDIR($sub);
}
}

if ($dir)
TRANSFORM_SUBDIR($dir);
?>
<h2>Replace admin.php to admin_safe.php in scripts and filemanes</h2>
<form method = 'post'>
Directory to recurse<br>
<input type='text' name='dir' value='<? print $dir ?>'>
<input type='submit' name='toto' value='go'>
<input type='submit' name='tata' value='cancel'>
</form>


A moins que dev ou un autre ne s'en charge.
Bye



[ Message édité par : developpeur : 28-11-2003 18:15 ]
developpeur developpeuricon_post
ton algo est pas ok : tu vas transformer des choses qui ne doivent pas l'être (par exemple dans certains modules).

Faut tester si tu n'a pas .admin.php, -admin.php et _admin.php au moins

Mon script sera ready lundi soir je pense mais tu peut avancer le tiens cela permettra d'en aider certains

MERCI !
snipe snipeicon_post
chouette dev :)

sa vas etres mortel :)
developpeur developpeuricon_post
Je finirais quand même le script pour ceux qui veulent renomer admin.php ET config.php
snipe snipeicon_post
et surtout pour etre pres si ovh ou un autre pt un plomb :)
axel axelicon_post
pis ca secure encore la bete, non ?.
developpeur developpeuricon_post
Oui / trollix de Xiprim fait le même genre de chose.