DNLHS - DONOT LET HACKERS SETUP

Signaler
Messages postés
75
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Messages postés
43
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
26 février 2014
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54393-dnlhs-donot-let-hackers-setup

Messages postés
43
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
26 février 2014

Merci :)
Messages postés
358
Date d'inscription
dimanche 8 février 2004
Statut
Modérateur
Dernière intervention
9 octobre 2017
1
Bonjour,

Le menage a été fait dans les commentaires

cdt

Tempusus
Admin CS
Messages postés
5
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
31 mai 2008

Cette fois, j'ai mis une vraie note.

Je n'ai pas encore tout analysé mais votre script est une vraie mine d'or pour un débutant comme moi et j'ai beaucoup appris.

Je voulais juste signaler un petit problème dans le mode windows.
La fonction GetAllFiles, appelée en ligne 380, délivre un tableau dont chaque ligne contient un nom de fichier.
Malheureusement, le "retour chariot" qui termine chaque nom de fichier ne plaît pas à windows qui met en erreur les fonctions filemtime, appelée en ligne 386 et filesize appelée en ligne 387.
J'ai corrigé ce petit problème en ajoutant, en ligne 382, la ligne suivante :

$file = mb_strcut($file, 0, (strlen($file)-1));

Vous aurez peut être une solution plus efficace.

Ce script va me signaler rapidement quand et dans quel fichier un petit malin va encore s'amuser à me glisser un cheval de Troie sur le serveur de mon association.
Merci pour cette aide précieuse.
Messages postés
43
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
26 février 2014

Bonjour, merci du retour pour Windows (je développe pour Mac & Linux :/)
Je "conseille" d'utiliser trim, qui évite de tronquer les bons caractères sous linux ;)

Cordialement, PunKeel

PS: votre pseudo est inscrit sur le github, en remerciement (si cela vous déplait, je peux le retirer ;))
Messages postés
5
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
31 mai 2008

Je suis débutant mais j'ai relevé une non symétrie de traitement entre les fonctions encode (ligne 295) et decode (ligne 309) dans le traitement du cas "aS".
Sinon, merci pour ce script que je commence à analyser.
Messages postés
43
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
26 février 2014

"edit" : MD5+gzip :

Il change le format de stockage des 3 array $a_size, $a_last et $a_hash vers $array['nom']=array('l'=>xx,'h'=>xx,'s'=>xx); puis json_encode ce tableau ... Et enfin le stocke gzippé.
Puis il calcule le hash dudit "fichier" créé, et le met au début ...

En gros, si on veut changer le fichier manuellement, autant se pendre ;D

Il y a une "aide" sur le github, en anglais. Je compte le traduire (voir traduire le readme entier x_x) ;)
Messages postés
43
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
26 février 2014

PHP s'arrête à la première condition fausse, il me semble ;)

Comment ça marche ?
Euh ...

Il enregistre trois infos par fichier, date de modif, taille, hash.

A chaque lancement, il les revérifie. Si l'un change, il l'annonce. :) Si tu lui dis "&save", il sauvegarde :)

Oui, c'est très peu documenté mais je voulais suivre ... Une norme ... Que j'ai pas trouvé. :/

Merci du commentaire, j'essayerais donc de "commenter" et d'expliquer mieux.

Si tu veux savoir comment c'est stocké, euh ... MD5+gzip(json_encode(array()) :)

Cordialement, PunKeel
Messages postés
75
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
30 juin 2013

je suis pas expert en PHP, mais premiere ligne et j'ai vu ceci:
if(isset($_GET['css']) && $_GET['css'] == sha1($pass))
die('.........................................................................');
Si $_GET['css'] n'existe pas ça renverra une erreur, j'aurais plutôt écris:
if(isset($_GET['css']){
if( $_GET['css'] == sha1($pass) ){
echo '......';
exit();
}
}

une briefe explication sur comment ça marche ne serais pas de refus, mais le titre est très aguicheur