Lankytojai patenka į loterijos, vaistų parduotuvės ar netikros techninės pagalbos puslapį, o jūs savo svetainę matote kaip įprasta. Tai įterpto nukreipimo požymis, dažniausiai sąlyginio. Šis gidas parodo, kaip jį atkartoti, rasti failuose ar duomenų bazėje ir uždaryti prieigą, per kurią jis buvo įdiegtas.
wp-config.php..htaccess, PHP failuose, duomenų bazėje ir svetainės adreso nuostatose.wp-content/uploads, įskiepius, kuriuos reikia įdiegti iš naujo arba ištrinti.Įsilaužimo metu įdiegtas nukreipimas pats pasirenka, kam jis taikomas. Dažniausiai jis aplenkia svetainę tvarkantį žmogų, kad išliktų kuo ilgiau. Dažniausios sąlygos:
Referer.User-Agent.Todėl kliento žinutę „jūsų svetainė mane nukreipia kitur“ verta vertinti rimtai, net jei pas jus viskas rodoma teisingai.
Atsidurkite nukreipiamo lankytojo vietoje:
Jei turite prieigą prie terminalo, ši komanda paprašo jūsų pagrindinio puslapio, apsimesdama iš Google atėjusiu iPhone:
curl -s -i -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -e "https://www.google.com/" https://www.jusu-svetaine.com/
Perskaitykite pirmąsias atsakymo eilutes. Kodas 301 arba 302 su eilute Location:, rodančia į nepažįstamą adresą, reiškia, kad nukreipia serveris: nukreipimas yra faile .htaccess arba PHP faile. Kodas 200, kai naršyklė vis tiek nukreipiama, reiškia, kad nukreipimas vyksta pačiame puslapyje, per JavaScript: dažniausiai jis slypi duomenų bazėje arba temos faile.
wp-config.php, konstantą DB_PASSWORD), tada kiekviena WordPress administratoriaus paskyra.AUTH_KEY iki NONCE_SALT faile wp-config.php pakeiskite nauju rinkiniu, sugeneruotu adresu https://api.wordpress.org/secret-key/1.1/salt/. Visos atviros sesijos uždaromos, įskaitant įsibrovėlio.wp config shuffle-salts
Svetainės šakniniame aplanke, o kartais ir poaplankyje, .htaccess gali turėti įsibrovėlio pridėtų perrašymo taisyklių. Blokas, kurį WordPress įrašo pats, yra trumpas ir yra tarp # BEGIN WordPress ir # END WordPress:
# BEGIN WordPress
# Instrukcijos (eilutės) tarp "BEGIN WordPress" ir "END WordPress" yra
# generuojamos dinamiškai ir turėtų būti modifikuojamos tik per WordPress filtrus.
# Bet kokie pakeitimai instrukcijose tarp šių žymiklių bus perrašyti.
<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
Taisyklė RewriteCond, tikrinanti %{HTTP_REFERER} (google, bing, facebook) arba %{HTTP_USER_AGENT} (android, iphone, mobile), po kurios eina RewriteRule į išorinį adresą, ir yra nukreipimas. Podėlio (cache) ir saugos įskiepiai taip pat įrašo savo blokus, pažymėtus savo pavadinimu: prieš šalindami bloką, sulyginkite jį su savo įskiepių sąrašu.
WP-CLI palygina WordPress branduolio ir įskiepių failus su WordPress.org skelbiamomis kontrolinėmis sumomis ir išvardija kiekvieną pakeistą ar pridėtą failą:
wp core verify-checksums
wp plugin verify-checksums --all
Antroji komanda apima įskiepius, platinamus per WordPress.org katalogą. Iš leidėjo pirktas įskiepis lyginamas su nauja kopija, atsisiųsta iš jūsų paskyros pas tą leidėją. Tai dažnas atvejis: iš 540 MVĮ WordPress svetainių, kurias apėmė mūsų 2026 m. rugsėjo 1 d. matavimas, 66 % turi bent vieną įskiepį, kurio nėra viešame kataloge.
Be WP-CLI pirmąją atranką atlieka dvi paieškos:
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"
Pirmoji išvardija per paskutines 30 dienų pakeistus PHP failus, antroji PHP failus medijos aplanke, kur jie iš principo įtartini (kai kurie įskiepiai ten įdeda tuščią index.php, ir tai normalu). Pakeitimo datą galima suklastoti, todėl ne vietoje esantis senas failas vis tiek vertas patikrinimo.
Pirmiausia atidarykite wp-config.php, šakniniame aplanke esantį index.php, aktyvios temos functions.php ir header.php bei aplanką wp-content/mu-plugins: jame esantys įskiepiai įkeliami automatiškai ir iš administravimo skydelio neišjungiami. Ko ieškoti: eval(, base64_decode(, gzinflate(, str_rot13(, ilgų neįskaitomų eilučių arba window.location su adresu, kurio nežinote.
JavaScript nukreipimas dažnai įterpiamas į puslapių turinį arba į nuostatas, kur jo neparodys joks failas. WP-CLI ieško eilutės visose WordPress lentelėse:
wp db search "<script"
wp db search "fromCharCode"
Be WP-CLI tas pačias paieškas galima paleisti phpMyAdmin, skirtuke SQL:
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%';
Kai kurie rezultatai yra teisėti: lankomumo statistikos žymė, slapukų juosta ar jūsų pridėtas valdiklis. Tai, kas neatitinka nieko, ką diegėte, verta atidžiau patikrinti, ypač scenarijus, kuris adresą sudaro iš simbolių kodų.
Skiltyje Nuostatos > Pagrindinės laukuose „WordPress adresas (URL)“ ir „Tinklalapio adresas (URL)“ turi būti jūsų domenas. Tas pačias reikšmes galima priverstinai nustatyti faile wp-config.php konstantomis WP_HOME ir WP_SITEURL: patikrinkite abi vietas.
wp option get home
wp option get siteurl
wp user list --role=administrator
Kai konstantos apibrėžtos, pirmosios dvi komandos grąžina jų reikšmes. Paskutinė išvardija administratorius su jų registracijos data; administravimo skydelyje tą patį sąrašą rodo meniu Vartotojai, atfiltravus pagal vaidmenį „Administratorius“. Paskyrą, kurios niekas neatpažįsta, ištrinkite, jos turinį priskirdami teisėtai paskyrai.
Ištrynus nukreipiančią eilutę, simptomas dingsta. Tačiau įsibrovėlio naudota prieiga lieka atvira, kol jos nerandate, ir nukreipimas sugrįžta po kelių dienų. Tvarka, kuri veikia:
wp-admin ir wp-includes, tada paleiskite wp core download --skip-content --force, kuri perrašo branduolį neliesdama jūsų įskiepių, temų ir medijos. Komanda perrašo esamus failus, bet neištrina pridėtų: todėl pirmiausia ištrinami abu aplankai, o nežinomi PHP failai šakniniame aplanke šalinami rankiniu būdu.wp-content/uploads, į .htaccess pridėtas taisykles ir duomenų bazėje rastus scenarijus.wp cron event list: nežinomo pavadinimo užduotis gali vėl įdiegti kodą.Jei svetainėje saugomi asmens duomenys (formos, klientų paskyros, užsakymai), užsirašykite, kada pastebėjote įsilaužimą. Europos Sąjungoje Bendrasis duomenų apsaugos reglamentas (BDAR) numato, kad apie asmens duomenų saugumo pažeidimą priežiūros institucijai pranešama ne vėliau kaip per 72 valandas nuo tada, kai apie jį sužinoma, nebent pažeidimas neturėtų kelti pavojaus fizinių asmenų teisėms ir laisvėms.
Kai Google aptinka nukreipimą, Chrome prieš atidarydama svetainę gali rodyti raudoną įspėjimą „Pavojinga svetainė“, o Google po jūsų paieškos rezultatu gali pridėti įspėjimą, kad svetainė galbūt įsilaužta. Google Search Console saugos problemų ataskaita (angliškoje sąsajoje Security issues) parodo, kas aptikta ir kuriais adresais. Išvalius svetainę, patikrą paleidžia tos ataskaitos mygtukas Request Review.
Pašalinus nukreipimą, lieka klausimas: kas prižiūrės svetainę toliau? Simafri perima jūsų WordPress svetainę, grąžina ją internetan ant pagrindo, kurį talpiname, apsaugome ir nuolat atnaujiname, ir paskui ja rūpinasi mėnuo po mėnesio. Domeno vardas ir turinys lieka jūsų.
Įterptas kodas skaito naršyklės User-Agent ir nukreipia tik telefonus, todėl svetainę tvarkantis žmogus, dažnai dirbantis kompiuteriu, nieko nemato. Išbandykite iš telefono su mobiliaisiais duomenimis arba su curl, siųsdami mobiliosios naršyklės identifikatorių.
Iš naujo įdiegus branduolį perrašomi WordPress failai, bet neištrinami tie, kuriuos galėjo pridėti įsibrovėlis. Duomenų bazė, tema, įskiepiai ir medijos aplankas lieka tokie patys, o būtent ten dažniausiai slypi nukreipimas ir įsibrovėlio prieiga. Naujas branduolys yra vienas valymo etapas, kurį papildo duomenų bazė, įskiepiai, paskyros ir slaptažodžiai.
Nes prieiga, per kurią jis buvo įdiegtas, vis dar yra: pridėta administratoriaus paskyra, tarp medijos paslėptas PHP failas, suplanuota užduotis, pažeidžiamas įskiepis. Bet kuri iš jų leidžia po valymo kodą įdiegti vėl. Patikrinkite paskyras, aplanką wp-content/uploads, suplanuotas užduotis ir įskiepių versijas, tada dar kartą pakeiskite slaptažodžius.
Atidarykite Google Search Console ir saugos problemų ataskaitą (angliškoje sąsajoje Security issues): joje išvardytos aptiktos problemos ir adresų pavyzdžiai. Jei svetainė Search Console dar nepatvirtinta, patvirtinimas DNS įrašu apima visą domeną.
Simafri
Pakalbėkime apie jūsų sumanymą
Pasakykite mums keliais žodžiais, ko jums reikia: greitai jums atsakome.
Ačiū! Jūsų užklausa išsiųsta. Netrukus su jumis susisieksime.
Labiau mėgstate el. paštą? Rašykite mums adresu support@simafri.com.