DNLHS - DONOT LET HACKERS SETUP

kertimanoff Messages postés 75 Date d'inscription samedi 3 décembre 2005 Statut Membre Dernière intervention 30 juin 2013 - 26 juin 2012 à 02:33
PunKeel Messages postés 43 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 26 février 2014 - 2 juil. 2012 à 17:56
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

PunKeel Messages postés 43 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 26 février 2014
2 juil. 2012 à 17:56
Merci :)
tempusus Messages postés 358 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 9 octobre 2017 1
2 juil. 2012 à 16:36
Bonjour,

Le menage a été fait dans les commentaires

cdt

Tempusus
Admin CS
patricklane Messages postés 5 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 31 mai 2008
1 juil. 2012 à 21:02
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.
PunKeel Messages postés 43 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 26 février 2014
1 juil. 2012 à 18:46
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 ;))
patricklane Messages postés 5 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 31 mai 2008
29 juin 2012 à 17:16
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.
PunKeel Messages postés 43 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 26 février 2014
26 juin 2012 à 18:54
"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) ;)
PunKeel Messages postés 43 Date d'inscription lundi 3 octobre 2011 Statut Membre Dernière intervention 26 février 2014
26 juin 2012 à 13:09
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
kertimanoff Messages postés 75 Date d'inscription samedi 3 décembre 2005 Statut Membre Dernière intervention 30 juin 2013
26 juin 2012 à 02:33
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
Rejoignez-nous