Eliminar contenido insertado en varios archivos en el servidor Linux

Eliminar contenido insertado en varios archivos en el servidor Linux

A menudo tengo problemas con sitios que son pirateados. Por lo general, terminan con scripts insertados en archivos diferentes. ¿Hay alguna manera, en Linux, de buscar este contenido y eliminarlo automáticamente? Por lo general, este contenido comienza y termina con algo como esto.

<!--2d3965--><script type="text/javascript" language="javascript">
</script><!--/2d3965-->

¿Sería posible utilizar algún tipo de combinación de grep para buscar archivos que contengan este contenido y luego canalizarlo a sed para eliminar todo desde

hasta

Respuesta1

Escribí ese guión, podría ser útil.

#!/usr/bin/env python
import os
import sys


for infile in sys.argv[1:]:
    print infile
    filetmp=infile+'.tmp'
    BEGIN='<!--2d3965-->'
    END='<!--/2d3965-->'
    f = open(infile, 'r')
    ftmp = open(filetmp, 'w')
    skip=False


    for line in f:
        if BEGIN in line:
            #print line.partition(BEGIN)[0]
            ftmp.write(line.partition(BEGIN)[0])
            skip=True
        if END in line:
           #print line.partition(END)[2]
            ftmp.write(line.partition(END)[2])
            skip=False
        else:
            if not skip:
                ftmp.write(line)
    #you can add save restrictions here
    os.rename(filetmp, infile)

Deberías dar:

  1. nombre de archivo con virus
  2. cuerda, que marcael virus comienzacadena
  3. cuerda, que marcafin del virus

    No olvide volver a cambiar los permisos, si el archivo lo requiere. Por cierto, creo que solo se aplica a archivos de texto.

Pruébelo y haga una copia de seguridad antes de usarlo.

Úselo de esta manera:

python cleaner.py index.html js/jquery.js

Respuesta2

Agregaría estos archivos a subversion o git y compararía automáticamente la versión oficial de estos archivos con los archivos de los sitios de forma regular. Si ve una diferencia, sabrá que ha sido pirateado y puede buscar la fuga. Mientras tanto, puedes restaurar el archivo original desde la herramienta de control de versiones.

información relacionada