Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Sécurité - Mises à jour _ C'est quoi ça: /**/eval(base64_decode

Écrit par : audioshop 26 Dec 2009, 10:54

Bonjour à tous,

Je viens de m'apercevoir que tout mes fichiers contiennent le code suivant au début de chaque fichier catalogue et admin

Code
<?php /**/eval(base64_decode('******************EDIT*********************')); ?>


ce n'est pas moi qui est mis ce code dans chaque fichier et avant de parler de piratage je souhaiterais savoir ce que vous en pensez et qu'est-ce que peux bien faire ce code dans chaque fichier ?
je viens de le remarquer et quand je regarde dans mes sauvegarde je n'avais rien avant le 23 decembre et sa commence au 24 decembre je sais pas si sa joue mais c'est ce que je constate.
merci

Écrit par : chti_poupon 26 Dec 2009, 11:14

Bonjour !
1/ base64_decode( dans google donne http://php.net/manual/en/function.base64-decode.php mellow.gif
2/ crée un index.php en copiant/collant l'exemple
3/ exécuté dans Easy php
4/ obtenu la phrase test cool.gif
5/ remplacé la phrase test par un bout de ton mystère (pas tout...sait-on jamais de quoi 'on' ne serait pas quand même capable... ninja.gif
6/ j'obtiens

Code
if(function_exists('ob_start')&&!isset($GLOBALS['mfsn'])){$GLOBALS['mfsn']='/home/web/csecret.com/ftp/phpmv2/li

7/ à toi de voir... mrgreen.gif

Conclusion: Ta carte de voeux de noël t'a fatigué.... rolleyes.gif

Salut !
Chti poupon

Écrit par : audioshop 26 Dec 2009, 11:40

ok! c'est ma carte de noël mais qu'est-ce qui c'est réellement passé j'ai pas compris!
je me suis piraté tout seul ?!

Que dois-je faire exactement?

merci

Écrit par : audioshop 26 Dec 2009, 12:14

Bon j'ai trouvé pas mal de sujet parlant de ce problème je vais appliquer les recommandations et je reviendrais plus tard vous dire ou j'en suis.

Écrit par : audioshop 26 Dec 2009, 12:54

Bon après quelques recherche ce n'est pas oscommerce qui est en cause mais phpmyvisite pour ceux qu'il l'utilise vous pouvez allez voir ce lien bien intérréssant:

http://translate.google.com/translate?js=y&prev=_t&hl=fr&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Feivind.morkland.org%2F2009%2F12%2F&sl=auto&tl=fr

De toute évidence phpmyvisite est vraiment à proscrire, j'utilise la dernière version à jours !

Écrit par : momoxygene 22 Jan 2010, 12:29

Je déterre ce post car je viens de me rendre compte que j'y avait eu droit le 15/12/2009 wacko.gif
Ma boutique est pourtant bien sécurisé FAQ suivit à la lettre mais j'avais phpmyvisit.
J'ai donc trouver le chemin des fichiers rajouter et les ai supprimer.
Maintenant je bloque sur la manière de virer ce code sur 915 Fichiers par le biais d'un script php (si c'est faisable) ou un éditeur de texte qui pourrait gérer 2 ligne.

Ce que je voudrais faire:

Citation
Chercher
<?php /**/eval(base64_decode('Code alphanumérique==')); ?>
<?php

Remplacer par
<?php


Le problème que je rencontre avec notepad++ il ne cherche pas sur 2 ligne donc j'ai essayer de cherche que la 1ère ligne et remplacer par rien, ça fonctionne mais le soucis c'est que je me retrouve avec 1 ligne vide en N°1 et ça créer des erreur de partout!

J'ai essayer aussi avec dreamweaver mais quand je cherche les 2 ligne il trouve rien wacko.gif

J'ai essayer de trouver un script ou une façon de le faire en traitant le dossier complet de ma boutique, mais j'ai rien trouver.

Si quelqu'un peu m'aider à trouver une solution ça serait super.
Je voudrais juste nettoyer le code afin de repartir sur une base propre.
Merci d'avance.

Écrit par : momoxygene 22 Jan 2010, 14:10

En fait c'est ok j'ai réussi avec dreamweaver.

Merci

Écrit par : Gnidhal 22 Jan 2010, 14:12

si toutes tes lignes pirates sont de même type, essayes avec une expression régulière :
(eval\(base64_decode\()[^;]+;
remplacer par RIEN
va te virer tout ce qui commence par "eval(base64_decode(" jusqu'au ";"
il restera alors <?php /**/ ?> ce qui ne gène pas

Écrit par : momoxygene 22 Jan 2010, 15:21

Merci Gnidhal dreamweaver à fait ça très bien tout mes fichiers sont de nouveaux comme à l'origine smile.gif

Par contre est ce que l'on sai à quoi sert ce hack? est ce qu'il y a un risque au niveau de la base de donnée?

Écrit par : zzarbi 25 Jan 2010, 20:45

Tiens j'ai un de mes client qui vient de se faire hacker aussi...

J'ai fait un rapide script PHP pour nettoyer les fichiers :

Code
<?php
/**
* Nettoire les fichiers
*
* @param string $name
*/
function nettoieFichier($name){
    //ouvre le fichier
    $data = file_get_contents($name);
    $count = 0;
    $data = str_replace('eval(base64_decode(\'<------EDIT------>\'));','',$data,$count);
    
    if($count!=0){
        echo ' Patched ';
        file_put_contents($name,$data);//ecrit le fichier
    }
}

/**
* Parcours un repertoire
*
* @param string $repname
*/
function parcoursRep($repname){
    $dir = opendir($repname);
    
    //lit le repertoire
    while (($file = readdir($dir)) !== false) {
        //Si c'est unfichier
        if(!is_dir($repname .'/'. $file)){
            $extension1 = substr($file, -3, 3);
            $extension2 = substr(strrchr($file,'.'),1);
            //verifien si c'est une extension php
            if($extension1==$extension2){
                if($extension1=='php'){
                    echo "Traitement du fichier : $repname/$file";
                    nettoieFichier($repname.'/'.$file);
                    echo "\n<br>";
                }
            }
        }else{//Si c'est un dossier
            if($file!=".." && $file!='.'){
                echo "Dir : $repname/$file \n<br>";
                parcoursRep($repname .'/'. $file);
            }
        }
    }
}

$dir = '.';//répertoire courant
parcoursRep($dir);
?>

Il suffit de mettre ce fichier a la racine de votre catalogue de changer la valeur <---- edit ---->.
Le script parcours le dossier local, afin de nettoyer les fichiers

C'est un script rapide que j'ai fait en 10min...

Sur le hack, dans mon cas il s'agissait d'utiliser le SMPT de mon client afin d'envoyer des emails frauduleux au nom de mon client. J'ai aussi trouver des fichiers php "cachée" qui contenait du code illicite.
Les fichiers était cachée un peu partout... J'ai essayer de voir exactement ce qu'il fessait mais le hacker fait des gzdeflate et base64_encode a répétition pour cacher son code, après 23 itérations, il effectue la même operation en récurrence sur certaine de ses fonctions... du coups j'ai abandonne la possibilite de voir ce qu'il fesait :/

Dans tous les cas vérifiez les fichier 'cachée' et surtout trouver le point d'entrée du hacker!

Écrit par : hellsey 11 Mar 2010, 16:57

Bonjour,
j'ai essayé d'utilisé le script de nettoyage donné ci dessus mais j'ai une erreur de syntaxe

Code
Parse error: syntax error, unexpected T_STRING in /home/xxx/www/nettoyage.php on line 11


voici le script
Code
<?php
/**
* Nettoire les fichiers
*
* @param string $name
*/
function nettoieFichier($name){
    //ouvre le fichier
    $data = file_get_contents($name);
    $count = 0;
    $data = str_replace('eval(base64_decode('aWYoZnVuY3R .......... CcpO319fQ=='));','',$data,$count);
    
    if($count!=0){
        echo ' Patched ';
        file_put_contents($name,$data);//ecrit le fichier
    }
}


la ligne 11 étant :
Code
$data = str_replace('eval(base64_decode('aWYoZnVuY3R .......... CcpO319fQ=='));','',$data,$count);



une idée ? ^^

Cordialement,
HelLSeY


Écrit par : audioshop 11 Mar 2010, 17:07

Comme ça sa marcheras mieux:

Code
$data = str_replace('eval(base64_decode('aWYoZnVuY3R .......... CcpO319fQ=='))','',$data,$count);

Écrit par : Rogers 11 Mar 2010, 17:09

Code
$data = str_replace('eval(base64_decode(\'aWYoZnVuY3R .......... CcpO319fQ==\'))','',$data,$count);


Comme ça plutôt tongue.gif

Écrit par : hellsey 11 Mar 2010, 17:22

Uhuh yep merci beaucoup ça fonctionne ^^ merci beaucoup ça fait plaisir de savoir mon site enfin clean smile.gif

Écrit par : NoZic 11 Mar 2010, 17:44

Bonsoir,

Va y avoir des points-virgules qui trainent...

Bonne soirée

Écrit par : Rogers 11 Mar 2010, 20:48

Oups, oui je me suis repris sur la ligne d'audioshop.

De toute façon, il est inutile de rappeler que l'on ne teste pas en prod (ou tout du moins on sauvegarde avant) lorsque l'on fait ce type de manip délicate.

La bonne ligne de code est donc :

Code
$data = str_replace('eval(base64_decode(\'aWYoZnVuY3R .......... CcpO319fQ==\'));','',$data,$count);


Écrit par : Garga 18 Mar 2010, 16:18

Bonjour a tous,

Je suis sur le point de mettre la V2 de mon site en ligne et je vérifiais si tout est ok lorsque je je suis tomber sur 3 fichiers inconnu de mes modifs.

Les 3 ce ressemble et le contenu est:

CODE
error_reporting(0);$s="e";$p="baeiczzazbzbaf";eval(base64_decode("XXXXXXXXXX-----------XXXXXXXXXXXX"));


Est le même problème que celui rencontré par vous autre?

Écrit par : meteor 5 Jan 2011, 19:42

Bonjour,
Quelqu un a trouvé la faille qu on utilisé ces hackers?
Je sais que j'ai dejà eu des problemes avec Filezilla qui sauvegarde (mal) les mots de passe ftp...
Y a t il autre chose a chercher?

Écrit par : bongrain 11 Jan 2011, 17:48

J'ai eu aussi ce problème (base64) sur environ 500 fichier.

Ca venait d'une faille de FCKEditor qui permettai à un utilisateur quelconque en tappant la bonne adresse d'accéder à un FCKEditor et par son intermédiaire d'uploader un fichier au choix sans vérif des MIMETYPE... J'ai trouvé le fichier uploadé en téléchargeant entièrement mon site, mon anti-virus à détecté le fichier en question identifié comme un trojan, c'était un fichier PHP C99Shell.

Tu peut peut être regarder de ce côté.

Écrit par : meteor 19 Jan 2011, 17:40

J ai trouvé les virus dans mon Tiny editor.
Y a t il moyen de sécuriser?
merci

Écrit par : chryst64 5 Apr 2011, 13:50

Bonjour
Après un hack identique de toutes mes pages j'ai installé la page base64.php que j'ai créé avec le code proposé ci-dessus.
Lors de l'appelle de cette page il me retourne ceci :

Traitement du fichier : ./account.php
Warning: Wrong parameter count for str_replace() in /xxx/www/xxx/base64.php on line 12
Traitement du fichier : ./account_add.php
Traitement du fichier : ./account_delete.php
....

xxx étant mon serveur.

Pouvez vous m'éclairer sur ce retour.

Merci

chryst
osc 2

Écrit par : ngmsky 9 Jul 2011, 14:43

Citation (meteor @ 5 Jan 2011, 19:42) *
Bonjour,
Quelqu un a trouvé la faille qu on utilisé ces hackers?
Je sais que j'ai dejà eu des problemes avec Filezilla qui sauvegarde (mal) les mots de passe ftp...
Y a t il autre chose a chercher?


Citation (bongrain @ 11 Jan 2011, 17:48) *
... Ca venait d'une faille de FCKEditor qui permettai à un utilisateur quelconque en tappant la bonne adresse d'accéder à un FCKEditor et par son intermédiaire d'uploader un fichier au choix sans vérif des MIMETYPE...


Citation (meteor @ 19 Jan 2011, 17:40) *
J ai trouvé les virus dans mon Tiny editor.
Y a t il moyen de sécuriser?


Bonjour, à mon avis, la bonne façon d'éviter ce genre de hack c'est de ( ne jamais installer) (ou de supprimer complement) les modules (même intégré nativement dans osc) permettant l'edition, la modition, ou l'upload de fichiers.
C'est le cas de FCKeditor, tinyEditor, filemanger.php, etc.
Codez vos pages plutôt en local sur un outils non iontégrer dans oscommerce pour en suite ajouter la page manuellement dans le catalog de votre site.
C'est un peu embattant au debut mais avec l'habitude, vous verrez que c'est super et surtout une garantie contre ce genre de hack.

Et puis installer les modules de sécurités permettant de contrer les injections de code, si vous regader bien dans ce forum, vous verrez des sujets qui en parlent. Il y en a deux : CRAWLPROTECT et un autre que je ne me souvient plus.

Et pour aller plus loin (au delas des recommandation de la FAQ), lisez tout les sujets sur la parties sécurité et voyez les solutions retenues afin de les appliquer chez vous.

Mieux vaut prevenir que guérrir - 1 homme avertis en vaut 4, voir même 5 biggrin.gif

Bonne chance à tous

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)