НОВИНА
Checkout Files Upload за WooCommerce приема файлове от всеки. Вижте дали Вашият е засегнат
Сигурност

Какво да направите веднага при хакнат WordPress сайт

# ЕтикетиСигурностБекъпи
Екипът на WPhost14 мин четене

Отваряте сайта си и виждате страници, които не сте създавали. Или хостингът Ви пише, че е намерил зловреден код, а Google предупреждава посетителите, че сайтът може да е хакнат. Хакнатият WordPress сайт изглежда стряскащо, но може да се оправи, ако действате в правилния ред.

Това е редът, който препоръчват документацията на WordPress и помощните страници на Google. Първо заключвате вратите, като сменяте паролите и махате чуждите администратори. После запазвате копие на сайта, решавате дали да върнете чист бекъп, или да чистите на ръка, обновявате всичко и молите Google да махне предупреждението. Накрая има чеклист и обяснение кога да пишете на поддръжката.

Как да разберете, че сайтът е хакнат

Хакването рядко си личи от пръв поглед. Документацията на WordPress изброява ясни признаци:

  • сайтът е в черен списък на Google, Bing или друга търсачка;
  • хостингът е спрял сайта Ви;
  • сайтът е отбелязан като разпространител на зловреден софтуер;
  • посетители съобщават, че антивирусът им реагира на сайта;
  • някой Ви уведомява, че сайтът Ви се използва за атаки срещу други сайтове;
  • в сайта има действия, които не сте правили, например нови потребители;
  • хакването се вижда направо в браузъра.

Част от него може да е скрита от Вас. Хакнатото съдържание понякога се показва само на търсачките, а Google нарича това cloaking. Затова напишете в Google site:primer.bg и прегледайте индексираните страници. Търсете страници, които не познавате, защото хакерът може да е добавил такива. Отворете и Google Search Console. В раздела Security Issues ще видите какъв проблем е засякъл Google, заедно с примерни адреси.

Преди да пипнете каквото и да е, запишете какво виждате, кога го забелязахте и какво сте променяли последно, например нов плъгин.

Сменете паролите и махнете чуждите администратори

Първо проверете компютъра, от който влизате. Според документацията на WordPress нападателите често започват оттам, със зловреден софтуер, който краде данните за вход към FTP и wp-admin. Пуснете антивирус и чак тогава сменете паролите, иначе новите може да стигнат до същия човек.

Сменете паролите за всички входове. Документацията на WordPress изброява FTP или SFTP, wp-admin, панела на хостинга и MySQL.

  • Паролата на cPanel се сменя от Password & Security. Ако не намирате раздела, потърсете „Password“ в търсачката на cPanel.
  • Паролите на FTP акаунтите, ако имате такива.
  • Паролата на базата данни.
  • Паролите на всички потребители в WordPress, най-вече на администраторите.

Паролата на базата се сменя най-лесно през WP Toolkit, ако хостингът Ви го предлага. Отворете раздела Database на сайта и натиснете change до името на потребителя. WP Toolkit сам обновява wp-config.php.

Ако я сменяте от MySQL Databases в cPanel (в по-новите версии Manage My Databases), ползвайте Change Password в таблицата Current Users. После трябва ръчно да въведете същата парола на реда DB_PASSWORD в wp-config.php.

Паролите в WordPress се сменят от Users, All Users. Изберете потребителя, натиснете Generate Password и после Update User.

След това прегледайте администраторите. В Users, All Users вижте кои имат роля Administrator. Запишете името и имейла на всеки непознат и го изтрийте, за да не може да влезе отново.

Същият списък може да се види и с една команда в Terminal на cPanel (в класическия изглед е в раздела Advanced). Terminal се показва само ако хостингът е дал достъп до shell, а командите с wp работят само където има WP-CLI. Ако Ви липсва едно от двете, пропуснете блоковете с команди, защото повечето проверки могат да се направят и от WP Toolkit или от админа.

Bash
# cPanel > Terminal
# Само чете. Сменете public_html с папката на сайта, ако е друга.
cd ~/public_html
wp user list --role=administrator \
  --fields=ID,user_login,user_email,user_registered

Накрая прекратете всички активни сесии. В wp-config-sample.php на WordPress пише, че секретните стойности (salts) могат да се сменят по всяко време, за да станат недействителни всички бисквитки. Така нападателят ще излезе, ако още е влязъл, но ще излезете и Вие, затова го направете, когато никой друг не работи по сайта.

Bash
# cPanel > Terminal, в папката на сайта
wp config shuffle-salts

Ако нямате Terminal, вземете нови стойности от api.wordpress.org/secret-key/1.1/salt/ и заменете с тях осемте реда AUTH_KEY, SECURE_AUTH_KEY и останалите в wp-config.php, като отворите файла във File Manager.

Проверете файловете и запазете копие

Ако хостингът Ви проверява файловете с ImunifyAV, потърсете „Imunify“ в търсачката на cPanel. Ако не го намирате, попитайте поддръжката на хостинга дали има скенер. Отворете списъка с намерените файлове и запишете пътя на всеки.

Според документацията на cPanel ImunifyAV открива зловредния код, а автоматичното почистване е функция на платената версия ImunifyAV+. Затова не разчитайте, че инструментът сам ще изчисти сайта. Преди да изтриете файл от списъка, отворете го, а ако имате съмнения, попитайте поддръжката.

После направете копие на сайта в сегашния му вид. Google съветва да запазите файловете и базата, преди да променяте каквото и да е. WordPress препоръчва същото и за заразеното състояние, защото, ако почистването се провали, поне ще имате какво да разгледате.

В WP Toolkit натиснете Back Up / Restore на картата на сайта и после Back up. Свалете файла на компютъра си и отбележете в името му, че е заразен, за да не го върнете по грешка. Как става това, е описано в ръководството за WP Toolkit. Ако нямате WP Toolkit, другите начини са в ръководството за бекъп.

Ако хостингът прави автоматични бекъпи, попитайте поддръжката му от кои дати има такива, защото ще Ви трябват в следващата стъпка.

Как да почистите хакнат WordPress сайт

Има два начина. Ако имате чист бекъп, върнете него. Ако нямате, почистете сайта на ръка. Google описва трите случая така:

Какъв бекъп иматеКакво да направите
Чист и скорошенВръщате го, обновявате всичко и сменяте паролите.
Чист, но старВръщате го, обновявате всичко, после пренасяте от заразеното копие само съдържание, което сте проверили.
Нямате чист бекъпПочиствате на ръка по стъпките по-долу.

Бекъп, направен след началото на хакването, съдържа и заразата. Затова изберете бекъп отпреди първия признак, който сте записали.

Ядрото на WordPress

В WP Toolkit натиснете Check WordPress Integrity на картата на сайта, после Verify Checksums. WP Toolkit сравнява файловете на ядрото с оригиналните контролни суми на WordPress. Ако някой файл се различава, натиснете Reinstall WordPress Core. Това не засяга съдържанието на сайта.

WP Toolkit не проверява index.php, wp-config.php и другите файлове с данни, специфични за инсталацията, затова ги прегледайте ръчно. В сегашните версии на WordPress index.php е кратък и освен коментарите има само define( 'WP_USE_THEMES', true ); и require __DIR__ . '/wp-blog-header.php';. Всичко друго там е добавено от някого. В wp-config.php търсете код, който не разпознавате.

В Terminal същата проверка става с една команда.

Bash
# cPanel > Terminal, в папката на сайта
# Само чете. Сравнява ядрото с контролните суми на WordPress.org.
wp core verify-checksums

Плъгини и теми

Подобна проверка има и за плъгините от WordPress.org.

Bash
# cPanel > Terminal, в папката на сайта
# Само чете. Проверява плъгините от WordPress.org.
wp plugin verify-checksums --all

За платените плъгини свалете чист пакет от сайта на доставчика. Изтрийте плъгините и темите, които не ползвате. Google подчертава, че плъгинът трябва да се изтрие, защото не е достатъчно да се изключи. Плъгин, който не помните да сте инсталирали, е повод за тревога.

Папката uploads

В wp-content/uploads са снимките и документите, затова там не би трябвало да има PHP файлове.

Bash
# cPanel > Terminal, в папката на сайта
# Само чете. Показва файлове, които могат да се изпълнят като PHP.
find wp-content/uploads -type f \
  -iregex '.*\.\(php[0-9]*\|phtml\|phar\)$'

Отворете всеки намерен файл, преди да решите какво да правите с него. От папката на сайта командата head -c 1500 ПЪТ_ДО_ФАЙЛА показва началото на файла, без да го изпълнява. Файл само с един коментар е безобиден, а файл с дълъг нечетим низ не е.

Bash
# cPanel > Terminal. Изтрива един файл, без връщане.
rm wp-content/uploads/2026/10/ПОДОЗРИТЕЛЕН_ФАЙЛ.php

Файлът .htaccess и закодираният код

Документацията на WordPress нарича .htaccess един от файловете, които най-често се променят при заразяване. Такъв файл може да има и в други папки на сайта.

Bash
# cPanel > Terminal, в папката на сайта
# Само чете. Показва всички .htaccess файлове под текущата папка.
find . -name ".htaccess" -type f

Стандартният блок на WordPress в главната папка е кратък. Всичко извън него е добавено от Вас, от хостинга, от плъгин или от нападателя. Търсете правила, които пренасочват посетителите другаде или пращат заявките към непознат .php файл, и копирайте файла, преди да го редактирате.

Apache
# .htaccess в главната папка, стандартният блок на WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Google съветва да търсите и файлове със закодиран код, например с base64_decode или eval.

Bash
# cPanel > Terminal, в папката на сайта
# Само чете. Показва имената на файловете с такъв код.
grep -rIl --include="*.php" \
  -E "(eval|assert)[[:space:]]*\(.*(base64_decode|gzinflate|str_rot13)" \
  wp-content

Част от намерените файлове може да са легитимни, затова обърнете внимание само на онези, които не очаквате на това място. Ако имате съмнения, попитайте поддръжката.

Обновете всичко и затворете входа

Почистването не помага, ако дупката остане отворена. Google цитира проучване, според което немалка част от хакнатите сайтове се хакват отново още в първия ден. Като възможни пътища за проникване Google изброява слаби или повтарящи се пароли, пропуснати обновления и уязвими плъгини и теми.

Обновете WordPress, темите и плъгините. Картата на сайта в WP Toolkit показва какво чака обновление и отбелязва с надпис Vulnerable плъгините с известни уязвимости, по данни от базите на Patchstack и Wordfence. Обновете ги или ги махнете.

След това сменете паролите и секретните стойности още веднъж. Документацията на WordPress го казва изрично, защото първата смяна е станала, докато сайтът още е бил заразен. Помислете и за двуфакторно удостоверяване за администраторите, което документацията също препоръчва.

Как да махнете предупреждението на Google

Предупреждението на Google не изчезва само. То остава, докато собственикът не предприеме действия.

  1. В Google Search Console потвърдете, че сайтът е Ваш.
  2. Отворете Users and permissions и проверете за непознат потребител или собственик. Ако има такъв, запишете имейла му и го премахнете, заедно с токена за потвърждение, който е оставил.
  3. В Security Issues разгледайте примерните адреси. Не ги отваряйте в обикновен браузър, а ползвайте URL Inspection или curl.
  4. Когато всички страници са чисти, натиснете Request Review.
  5. Опишете какъв е бил проблемът, какво сте направили за всяка категория и какъв е резултатът.

Прегледът отнема от няколко дни до няколко седмици. Не пращайте нова заявка, докато първата се обработва, защото това може да забави следващите. Страниците трябва да са достъпни за Googlebot, без блокиране в robots.txt и без noindex.

Кога да пишете на поддръжката?

Пишете на поддръжката на хостинга веднага, без да чакате да изпробвате всичко, когато:

  • не можете да влезете в cPanel или в админа на WordPress;
  • хостингът Ви е писал за зловреден код, спам или злоупотреба;
  • заразата се връща след почистване;
  • в акаунта има други сайтове и не знаете дали са засегнати;
  • сайтът праща спам или писмата Ви се връщат.

Документацията на WordPress предупреждава, че при споделен хостинг хакването може да засегне повече от един сайт, а сайтове, използвани за спам, попадат в черни списъци за поща. Google съветва да уведомите хостинга още в началото. Ако посетителите виждат зловредно съдържание, помолете поддръжката да спре сайта временно, така че отвън да връща отговор 503, както препоръчва Google.

В съобщението напишете домейна, какво виждате, кога сте го забелязали, какво вече сте направили и кои файлове е показал скенерът, ако хостингът има такъв.

Текст
# Съобщение до поддръжката
Здравейте,

подозирам, че сайтът primer.bg е хакнат.
На телефон се отваря непознат адрес вместо страницата.
Забелязах го на 7 октомври около 10 часа, след обновяване на плъгин.
Вече смених паролите на cPanel, на базата и на администраторите.
ImunifyAV показва три файла в wp-content/uploads/2026/10.
Може ли да проверите дали са засегнати други сайтове в акаунта?
Може ли да ми кажете от кои дати има автоматични бекъпи?

Благодаря.

Ако не искате да минавате през всичко това без помощ или заразата се връща, при почистването на хакнат сайт махаме зловредния код и задните врати, затваряме пробива и молим Google да махне предупреждението, където и да е хостнат сайтът. Опишете какво виждате във формата за запитване, със същите данни като в писмото по-горе.

Чеклист

  • Записах какво виждам, кога го забелязах и какво промених наскоро.
  • Проверих компютъра си с антивирус и смених паролите на cPanel, на FTP, на базата и на всички потребители на WordPress.
  • Махнах непознатите администратори и смених секретните стойности в wp-config.php.
  • Прегледах какво е намерил скенерът на хостинга, ако има такъв, и свалих на компютъра си копие на сайта в заразеното състояние.
  • Върнах чист бекъп или почистих ядрото, плъгините, uploads и .htaccess.
  • Обнових всичко и изтрих плъгините и темите, които не ползвам.
  • Смених паролите и секретните стойности още веднъж.
  • Поисках преглед в Search Console, когато всичко беше чисто.

Често задавани въпроси

Как да разбера дали сайтът ми с WordPress е хакнат?

Документацията на WordPress изброява ясни знаци, например сайтът е в черен списък на Google или Bing, хостингът го е спрял, антивирусът на посетителите реагира или в сайта има действия, които не сте правили, като нови потребители. Част от хакването може да е скрита, защото понякога съдържанието се показва само на търсачката. Затова напишете site:primer.bg в Google и прегледайте индексираните страници, а в Google Search Console вижте секцията Security Issues.

Какво да направя първо, ако сайтът ми е хакнат?

Първо проверете с антивирус компютъра, от който влизате, защото според WordPress нападателите често започват оттам. После сменете паролите за cPanel, FTP, базата данни и всички потребители в WordPress и изтрийте непознатите администратори, като първо запишете името и имейла им. Накрая сменете тайните стойности (salts) в wp-config.php, за да излезе нападателят, ако е останал влязъл.

Трябва ли да запазя копие на хакнатия сайт?

Да. Google съветва да запазите файловете и базата, преди да промените нещо, а WordPress препоръчва същото за заразеното състояние, за да има какво да се изследва, ако почистването се обърка. Свалете копието на компютъра си и го отбележете като заразено, за да не го възстановите по грешка.

Кой бекъп да възстановя след хакване?

Бекъп от дата, след като хакването е започнало, носи заразата със себе си, затова изберете такъв отпреди първия знак, който сте записали. Ако бекъпът е чист и скорошен, възстановете го, обновете всичко и сменете паролите, а ако е чист, но стар, пренесете от заразеното копие само проверено съдържание. Възстановяването трие всичко, променено след датата на бекъпа, включително нови поръчки и коментари.

Почиства ли ImunifyAV сайта сам?

Не. Според документацията на cPanel ImunifyAV открива зловредния код, а автоматичното почистване е функция на платената версия ImunifyAV+. Използвайте списъка с открити файлове, за да видите пътя на всеки, отворете файла, преди да го изтриете, и ако не сте сигурни, попитайте поддръжката.

Как да почистя хакнат WordPress без бекъп?

За ядрото ползвайте Check WordPress Integrity и Verify Checksums в WP Toolkit или wp core verify-checksums, а променените файлове сменете с Reinstall WordPress Core. За плъгините от WordPress.org има подобна проверка, платените свалете чисти от сайта на производителя, а неизползваните изтрийте, защото деактивирането не стига. Потърсете PHP файлове в wp-content/uploads, прегледайте .htaccess за чужди пренасочвания и търсете кодиран код с base64_decode или eval.

Как да махна предупреждението на Google, че сайтът е хакнат?

Предупреждението не изчезва само. В Google Search Console потвърдете, че сайтът е Ваш, проверете Users and permissions за непознат потребител и когато всичко е чисто, натиснете Request Review в Security Issues с описание какво сте направили. Прегледът отнема от няколко дни до няколко седмици и не пращайте нова заявка, докато първата се обработва.

Кога да пиша на поддръжката на хостинга при хакнат сайт?

Веднага, ако не можете да влезете в cPanel или в админа на WordPress, ако хостингът Ви е писал за зловреден код или спам, ако заразата се връща след почистване, ако в акаунта има и други сайтове или ако сайтът праща спам. В съобщението напишете домейна, какво виждате, кога сте го забелязали, какво вече сте направили и кои файлове е показал скенерът. Ако посетителите виждат зловредно съдържание, помолете временно да свалят сайта с отговор 503, както препоръчва Google.

Източници

# ЕтикетиСигурностБекъпи
СподелетеFacebookXLinkedIn