Excluindo conteúdo inserido em vários arquivos no servidor Linux

Excluindo conteúdo inserido em vários arquivos no servidor Linux

Muitas vezes tenho problemas com sites que são hackeados. Geralmente eles acabam com scripts inseridos em arquivos diferentes. Existe uma maneira, no Linux, de procurar esse conteúdo e excluí-lo automaticamente? Normalmente esse conteúdo começa e termina com algo assim.

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

Seria possível usar algum tipo de combinação de grep para procurar arquivos contendo esse conteúdo e depois canalizá-lo para sed para excluir tudo de

para

Responder1

Eu escrevi esse script, pode 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)

Você deve dar:

  1. nome de arquivo com vírus
  2. string, que marcavírus começacorda
  3. string, que marcafim do vírus

    Não se esqueça de alterar as permissões novamente, se o arquivo exigir. aliás, acho que é aplicável apenas a arquivos de texto.

Por favor, teste e faça backup antes de usar.

Use-o desta forma:

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

Responder2

Eu adicionaria esses arquivos ao Subversion ou git e compararia automaticamente a versão oficial desses arquivos com os arquivos dos sites regularmente. Se você notar alguma diferença, você sabe que foi hackeado e pode procurar o vazamento. Enquanto isso, você pode restaurar o arquivo original a partir da ferramenta de controle de versão.

informação relacionada