Ako vyhľadať škodlivý kód bez antivírusov a skenerov. Kniha jázd Vyhľadávajte škodlivé kódy pomocou funkcie eval

1. Rozbaľte ho do priečinka lokality.
2. kliknite na odkaz your_site/fscure/
3. všetko

Čo môže urobiť?

1. Automatické vyhľadávanie vírusy podľa podpisov.
2. Vyhľadajte reťazec v súboroch
3. Odstránenie súborov
4. Opravte škodlivý kód pomocou regulárnych výrazov

Skript neurobí všetku prácu za vás a vyžaduje určité minimálne znalosti. Pred prácou sa odporúča urobiť zálohu stránky.

Ako to funguje?

Pri prvom spustení vytvorí index súborov. V priečinku sa nachádza súbor fscure.lst. Zobrazí zoznam súborov obsahujúcich potenciálne škodlivé podpisy. „Potenciálne škodlivý“ znamená, že sa budete musieť rozhodnúť, či ide o vírus alebo nie. Zoznam podpisov sa konfiguruje v súbore config.php, konštanta SCAN_SIGN. Pri predvolenom nastavení skript nekontroluje súbory js a neobsahuje pre ne podpisy.

Najčastejšie problémy

1. nevytvorí index fscure.lst. Môže sa to stať, ak nie je dostatok práv. Vložte 777 do priečinka fscure

2. Chyba 5xx. Najčastejšie "504 Gateway Time-out". Skript sa nestihne dokončiť a zlyhá kvôli vypršaniu časového limitu. V tomto prípade existuje niekoľko spôsobov, ako urýchliť jeho prácu. Rýchlosť závisí predovšetkým od veľkosti indexu. Nachádza sa v súbore fscure.lst. V 90 % prípadov je zvyčajne možné spracovať súbor do 5 MB. Ak nemá čas, môžete znížiť „nenásytnosť“ skriptu zakázaním skenovania *.jpg;*.png;*.css v konfigurácii.
V súbore config.php.

// oddeľovač; define("FILES_EXCLUDE","*.js;*.jpg;*.png;*.css");

3. Hosting vydá varovanie ako
(HEX)base64.inject.unclassed.6: u56565656: /var/www/u65656565/data/www/34535335353.ru/fscure/index.php

V skripte žiadny vírus nie je a nikdy nebol. A (HEX)base64.inject.unclassed.6 je konštrukcia ako "echo base64_decode(" ), s ktorou sa často stretávame a sama o sebe je celkom neškodná. V najnovšej verzii som však tento kód nahradil.

Čo robiť, ak ste sami nedokázali nájsť vírus?

Môžete ma kontaktovať so žiadosťou o pomoc. Moje sadzby sú skromné. Na prácu dávam záruku 6 mesiacov. Náklady na prácu sú 800 rubľov. pre 1 lokalitu. Ak máte na účte viacero stránok, cena sa určuje individuálne.

Ak by ste všetko zvládli sami, bola by som vďačná za finančnú odmenu alebo odkaz na moju stránku.

Moje požiadavky:
yandex
41001151597934

webmoney
Z959263622242
R356304765617
E172301357329

WordPress je jedným z najpopulárnejších systémov na správu obsahu, ktorý sa používa na rôzne účely: od blogovania až po elektronický obchod. Existuje široký výber doplnkov a tém WordPress. Stáva sa, že niektoré z týchto rozšírení sa dostanú do rúk webmasterov po tom, čo na nich nejaký útočník pracoval.

Vo svoj prospech by v nich mohol nechať reklamné odkazy alebo kód, pomocou ktorého bude spravovať vašu stránku. Mnoho používateľov WordPressu nemá veľa skúseností s programovaním webu a nevedia, ako túto situáciu riešiť.

Pre nich som skontroloval deväť najefektívnejších nástrojov na odhaľovanie škodlivých zmien v kóde bežiaceho webu alebo nainštalovaných doplnkov.

1. Kontrola pravosti témy (TAC)

Theme Authenticity Checker (TAC) – doplnok WordPress, ktorý kontroluje všetky zavedená téma pre podozrivé prvky, ako sú neviditeľné odkazy alebo šifrovaný kód Base64.

Po zistení takýchto prvkov ich TAC nahlási správcovi WordPress, čo mu umožní nezávisle analyzovať a v prípade potreby opraviť zdrojové súbory tém:

2. Využite skener

Exploit Scanner prehľadá všetky zdroj vaše stránky a obsah databázy WordPress pre podozrivé inklúzie. Rovnako ako TAC, ani tento doplnok nezabraňuje útokom ani bojuje s ich následkami automatický režim.

Správcovi stránky zobrazuje iba zistené príznaky infekcie. Ak chcete vymazať škodlivý kód, budete to musieť urobiť ručne:

3. Bezpečnosť Sucuri

Sucuri je známe bezpečnostné riešenie WordPress. Doplnok Sucuri Security monitoruje súbory nahrané na stránku WordPress, vedie svoj vlastný zoznam známych hrozieb a tiež vám umožňuje vzdialene skenovať stránku pomocou bezplatného skenera Sucuri SiteCheck Scanner. Za poplatok za predplatné môžete ďalej posilniť ochranu svojich stránok inštaláciou výkonného firewallu Sucuri Website Firewall:

4. Anti-Malware

Anti-Malware je doplnok pre WordPress, ktorý dokáže nájsť a odstrániť trójske skripty, zadné vrátka a iný škodlivý kód.

Nastavenia skenovania a odstraňovania je možné prispôsobiť. Tento plugin je možné použiť po bezplatná registrácia na gotmls.

Doplnok pravidelne pristupuje na webovú stránku výrobcu, odosiela štatistiky detekcie škodlivého softvéru a prijíma aktualizácie. Ak teda nechcete na svoju stránku inštalovať doplnky, ktoré monitorujú jej fungovanie, mali by ste sa vyhnúť používaniu Anti-Malware:

5. WP Antivirus Site Protection

WP Antivirus Site Protection je doplnok, ktorý kontroluje všetky súbory nahrané na web, vrátane tém WordPress.

Plugin má vlastnú základňu podpisy sa automaticky aktualizujú prostredníctvom siete. Môže automaticky odstrániť hrozby, upozorniť správcu stránky e-mail A oveľa viac.

Doplnok je nainštalovaný a funguje zadarmo, ale má niekoľko platených doplnkov, ktoré stojí za to venovať pozornosť:

6. Antivírus pre WordPress

AntiVirus for WordPress je ľahko použiteľný doplnok, ktorý dokáže pravidelne kontrolovať vaše stránky a upozorniť vás na problémy so zabezpečením prostredníctvom e-mailu. Doplnok má prispôsobiteľný whitelist a ďalšie funkcie:

7. Quterra Web Malware Scanner

Skener Quterra kontroluje webovú stránku, či neobsahuje zraniteľné miesta, vkladanie kódu tretích strán, vírusy, zadné vrátka atď. Skener má také zaujímavé funkcie ako heuristické skenovanie a detekcia externých odkazov.

Základné funkcie skenera sú bezplatné, zatiaľ čo niektoré ďalšie služby vás budú stáť 60 USD ročne:

8. Wordfence

Ak hľadáte komplexné riešenie bezpečnostné problémy vášho webu, pozrite sa na Wordfence.

Tento plugin poskytuje konštantný Ochrana WordPress od známe typyútoky, dvojfaktorová autentifikácia, podpora „čiernej listiny“ IP adries počítačov a sietí používaných hackermi a spamermi, skenovanie stránok na známe zadné vrátka.

Tento plugin je v základnej verzii zadarmo, no má aj prémiovú funkcionalitu, za ktorú výrobca požaduje mierny poplatok za predplatné:

9.Wemahu

Wemahu monitoruje zmeny v kóde vašej stránky a vyhľadáva škodlivý kód.

Databáza, na ktorej je detekovaný malvér, sa dopĺňa metódou crowdsourcingu: dopĺňajú ju samotní používatelia odoslaním výsledkov skenovania infikovaných inštalácií WordPress na webovú stránku autora pluginu. Plugin tiež podporuje odosielanie správ e-mailom a ďalšie užitočné funkcie.

Škodlivý kód sa na stránku dostane z nedbanlivosti alebo so zlým úmyslom. Účely škodlivého kódu sa líšia, ale v podstate poškodzuje alebo narúša normálnu prevádzku webovej stránky. Ak chcete odstrániť škodlivý kód na WordPress, musíte ho najprv nájsť.

Čo je škodlivý kód na stránke WordPress?

Autor: vzhľad, najčastejšie je škodlivý kód súbor písmen a symbolov latinskej abecedy. V skutočnosti ide o šifrovaný kód, pomocou ktorého sa vykonáva táto alebo tá akcia. Akcie sa môžu veľmi líšiť, napríklad vaše nové príspevky sa okamžite zverejnia na zdroji tretej strany. Ide v podstate o krádež vášho obsahu. Kódy majú aj iné „úlohy“, napríklad umiestňovanie odchádzajúcich odkazov na stránky lokality. Úlohy môžu byť tie najsofistikovanejšie, ale jedna vec je jasná: škodlivé kódy treba loviť a odstraňovať.

Ako sa škodlivé kódy dostanú na webovú stránku?

Existuje tiež veľa medzier pre kódy, ktoré sa dostanú na stránku.

  • Najčastejšie ide o témy a doplnky stiahnuté z „ľavých“ zdrojov. Takáto penetrácia je však typická pre takzvané šifrované odkazy. Explicitný kód nekončí na stránke.
  • Najnebezpečnejší je prienik vírusu pri napadnutí stránky. Hackovanie stránky vám spravidla umožňuje umiestniť nielen „jednorazový kód“, ale aj nainštalovať kód s prvkami škodlivého softvéru ( malvér). Napríklad nájdete kód a vymažete ho, ale po určitom čase sa obnoví. Možností je opäť veľa.
  • Dovoľte mi hneď poznamenať, že boj proti takýmto vírusom je ťažký, ale manuálne odstránenie vyžaduje znalosti. Existujú tri riešenia problému: prvým riešením je použitie antivírusových doplnkov, napríklad plugin s názvom BulletProof Security.

    Toto riešenie poskytuje dobré výsledky, ale vyžaduje čas, aj keď trochu. Existuje radikálnejšie riešenie, ako sa zbaviť škodlivých kódov vrátane zložitých vírusov, a to obnovenie stránky z predtým vytvorených záložných kópií stránky.

    Keďže dobrý webmaster to robí pravidelne, môžete sa bez problémov vrátiť späť k neinfikovanej verzii. Tretie riešenie je pre bohatých a lenivých, stačí kontaktovať špecializovanú „kanceláriu“ alebo individuálneho špecialistu.

    Ako hľadať škodlivý kód na WordPress

    Je dôležité pochopiť, že škodlivý kód na WordPress sa môže nachádzať v akomkoľvek súbore na stránke a nie nevyhnutne v pracovnej téme. Môže prísť s pluginom, témou alebo „domácim“ kódom prevzatým z internetu. Existuje niekoľko spôsobov, ako sa pokúsiť nájsť škodlivý kód.

    Metóda 1: Ručne. Prechádzate všetkými súbormi lokality a porovnávate ich so súbormi neinfikovanej zálohy. Ak nájdete kód niekoho iného, ​​odstráňte ho.

    Metóda 2: Používanie bezpečnostných doplnkov WordPress. Napríklad, . Tento doplnok má skvelú funkciu, skenuje súbory stránok na prítomnosť kódu iných ľudí a doplnok sa s touto úlohou dokonale vyrovná.

    Metóda 3. Ak máte primeranú podporu hostingu a zdá sa vám, že na stránke je niekto iný, požiadajte ho, aby preskenoval vašu stránku pomocou svojho antivírusu. Ich správa bude obsahovať zoznam všetkých infikovaných súborov. Ďalej otvorte tieto súbory v textový editor a odstrániť škodlivý kód.

    Metóda 4. Ak môžete pracovať s prístupom SSH do adresára lokality, potom pokračujte, má vlastnú kuchyňu.

    Dôležité!

    Bez ohľadu na to, ako hľadáte škodlivý kód, pred vyhľadaním a následným odstránením kódu zatvorte prístup k súborom lokality (zapnite režim údržby). Pamätajte na kódy, ktoré sa po odstránení obnovia.

    Vyhľadajte škodlivé kódy pomocou funkcie eval

  • V PHP existuje taká funkcia s názvom eval. Umožňuje vám spustiť ľubovoľný kód na jeho riadku. Okrem toho môže byť kód šifrovaný. Práve kvôli kódovaniu vyzerá škodlivý kód ako súbor písmen a symbolov. Dve populárne kódovania sú:
  • Base64;
  • Rot13.

    • Podľa toho v týchto kódovaniach funkcia eval vyzerá takto:
    • eval(base64_decode(...))

    eval (str_rot13 (...)) //v interných úvodzovkách, dlhé, nejasné sady písmen a symbolov..

    • Algoritmus na vyhľadávanie škodlivého kódu pomocou funkcie eval je nasledovný (pracujeme z administratívneho panela):
    • prejdite do editora stránky (Vzhľad→Editor).
    • skopírujte súbor functions.php.
    • otvorte ho v textovom editore (napríklad Notepad++) a vyhľadajte slovo: eval.
    Ak ho nájdete, neponáhľajte sa nič mazať. Musíte pochopiť, čo táto funkcia „žiada“, aby sa vykonala. Aby sme to pochopili, kód musí byť dekódovaný. Na dekódovanie existujú online nástroje nazývané dekodéry.

    Dekodéry/kodéry

    Dekodéry fungujú jednoducho. Skopírujete kód, ktorý chcete dešifrovať, vložíte ho do poľa dekodéra a dekódujete.

    V čase písania článku som nenašiel ani jeden zašifrovaný kód nájdený vo WordPresse. Našiel som kód z webovej stránky Joomla. V princípe nie je rozdiel v chápaní dekódovania. Pozrime sa na fotografiu.

    Ako môžete vidieť na fotke, funkcia eval po dekódovaní nezobrazila strašný kód ohrozujúci bezpečnosť stránky, ale zašifrovaný odkaz na autorské práva od autora šablóny. Dá sa tiež odstrániť, ale po aktualizácii šablóny sa vráti, ak nepoužívate .

    • Škodlivý kód na WordPress často prichádza s témami a doplnkami. Preto neinštalujte šablóny a pluginy „zľava“, neoverené zdroje a ak ich inštalujete, pozorne ich skontrolujte na prítomnosť odkazov a výkonných php funkcie. Po nainštalovaní doplnkov a tém z „nelegálnych“ zdrojov skontrolujte stránku pomocou antivírusového softvéru.
    • Nezabudnite robiť pravidelné zálohy a vykonávať ďalšie.

    Musí sa to urobiť spoločne. Ak odstránite pôvodnú príčinu hacknutia (napríklad zraniteľnosť v rozšírení CMS), ale neodstránite všetky škodlivé súbory, útočník bude môcť znova získať prístup na stránku pomocou jedného zo svojich skriptov. Ak odstránite všetky stiahnuté škodlivé skripty, ale neodstraňujte príčinu hacknutia, útočník bude môcť znova hacknúť stránku a znova na ňu nahrať skripty.

    Špecialista s príslušnými znalosťami a skúsenosťami by mal vykonať prácu na odstránení škodlivých skriptov a analyzovať príčiny hackingu:

    • Na odstránenie škodlivých skriptov potrebujete znalosť programovacieho jazyka PHP, ako aj znalosť „vnútra“ populárnych CMS (Joomla, WordPress atď.) a rozšírení k nim. Tieto znalosti sú potrebné na odlíšenie skriptov priamo z CMS a jeho rozšírení od cudzích súborov a tiež na to, aby bolo možné jednoznačne určiť, aké akcie vykonávajú pri stretnutí s pochybnými skriptami.
    • Na analýzu príčin hackingu sú potrebné skúsenosti so správou servera. Je to potrebné na analýzu stavu súborov na účte, času, kedy boli zmenené, a tiež na porovnanie týchto údajov s protokolmi servera, aby sa zistilo, ktoré akcie útočníka viedli k hacknutiu stránok.

    Ak teda bola vaša stránka napadnutá hackermi, odporúča sa, aby ste sa vyhli opakovaným hackom, nevykonávajte prácu sami, ale obráťte sa na špecialistu, ktorý vykoná potrebnú diagnostiku a odporučí alebo vykoná potrebné kroky na vyriešenie problému, a kto môže zaručiť kvalitu získaného výsledku.

    Existuje však množstvo opatrení, ktoré v niektorých prípadoch pomáhajú obnoviť bezpečnú prevádzku stránky bez špeciálnych znalostí. Obmedzenie metódy nižšie spočíva v tom, že na to, aby stránka opäť fungovala, vyžaduje prítomnosť záložná kópia, vytvorený v čase pred hacknutím. Ak dátum narušenia nie je známy, môžete túto metódu vyskúšať pomocou najstaršej dostupnej zálohy. Druhým obmedzením, ako dôsledok prvého, je, že po obnovení stránky sa vytvorili údaje pridané na stránku po obnovení zálohy (napríklad nové články, obrázky alebo dokumenty). Ak potrebujete stránku obnoviť a zároveň zachovať nové údaje, musíte kontaktovať špecialistu.

    Tieto opatrenia nám neumožňujú určiť príčinu hacknutia stránky, ale každé z nich je zamerané na odstránenie jednej z potenciálnych príčin prieniku. Keďže presný dôvod hacknutia nie je známy, je potrebné vykonať všetky. Akcie sú usporiadané v takom poradí, aby sa najprv úplne vylúčila možnosť, že útočník bude momentálne pokračovať v prevádzke na stránke alebo hostiteľskom účte, a potom v budúcnosti zabráni útočníkovi preniknúť na stránku.

    Nasledujúce kroky predpokladajú, že na svojom hostiteľskom účte máte iba jednu webovú stránku. Ak je na účte niekoľko stránok, potom môžu byť tiež napadnuté a stránka môže byť hacknutá prostredníctvom nich. Je potrebné buď preniesť miesto, na ktorom sa vykonávajú reštaurátorské práce samostatný účet alebo obnoviť všetky stránky hostené na účte súčasne.

    Poradie akcií je dôležité, preto je potrebné ich vykonávať v presnom poradí, v akom sú umiestnené nižšie.

  • Ihneď po zistení, že stránka bola napadnutá, je potrebné úplne zablokovať prístup návštevníka k nej. To po prvé zabráni útočníkovi vykonávať škodlivé činnosti na stránke a po druhé mu nedovolí zasahovať do reštaurátorských prác. Tento krok je veľmi dôležitý, pretože k odstráneniu škodlivých skriptov a odstráneniu príčiny hacknutia nedochádza zo dňa na deň – spravidla to trvá niekoľko hodín. Ak stránka zostane prístupná zvonku, útočník bude môcť znova nahrať skripty do časti lokality, ktorá už bola vyčistená. V tomto prípade môže útočník použiť na pripojenie rôzne adresy IP, takže odmietnutie prístupu iba k zoznamu adries IP nebude fungovať. Aby sa zabezpečilo, že stránka bude vyčistená od zistených škodlivých skriptov, je potrebné úplne zablokovať prístup útočníka na stránku, čo je možné urobiť iba úplným zablokovaním stránky pre všetkých návštevníkov. Obráťte sa na službu technickej podpory hostiteľa, ktorý hostí vašu stránku, aby ju zablokoval.
  • Po zablokovaní stránky je potrebné skontrolovať počítače, z ktorých ste so stránkou pracovali, moderným antivírusom s aktualizovanými vírusovými databázami. Ak bola stránka napadnutá krádežou hesiel účtov pomocou vírusu, musíte sa uistiť, že ďalšia práca s napadnutou stránkou sa vykonáva z počítača, ktorý neobsahuje vírusy, inak môže dôjsť k ich opätovnému odcudzeniu po zmene prístupových hesiel.
  • Po zablokovaní stránky a kontrole vírusov je potrebné zmeniť všetky prístupové heslá k vášmu účtu: prístup cez FTP, cez SSH, ako aj prístup k ovládaciemu panelu hostingu. Ak sa útočník dostal k súborom konta pomocou jednej z týchto metód, po zmene hesiel to už nebude môcť urobiť.
  • Po zmene hesiel musíte zničiť všetky procesy servera spustené pod účtom, na ktorom je stránka udržiavaná. Spustený útočníkom v pozadie Procesy bez toho, aby boli zničené, budú môcť po obnovovacích prácach znova umiestniť škodlivé skripty na stránku. Aby sa tomu zabránilo, všetky procesy spustené pred zablokovaním stránky musia byť zničené. Stránka by už v tejto chvíli mala byť zablokovaná, aby útočník nemohol spustiť nové procesy prístupom k niektorému zo svojich skriptov na stránke. Ak chcete zničiť procesy spustené na vašom účte, kontaktujte službu technickej podpory hostiteľa, ktorý je hostiteľom vašich stránok.
  • Teraz nie je možné preniknúť na miesto zvonku a môžete začať s jeho obnovou.
  • Pred ďalšími akciami odstráňte všetky existujúce súbory lokality, aby ste sa uistili, že neexistujú žiadne škodlivé skripty alebo skripty CMS, do ktorých útočník vložil škodlivý kód. Tento krok je dôležitý aj preto, že pri obnove lokality zo zálohy sa nie vždy odstránia súbory, ktoré existovali pred obnovením. Ak po obnovení zo zálohy zostanú na stránke staré škodlivé skripty, útočník bude môcť znova vstúpiť na stránku. Môžete sa tomu vyhnúť odstránením všetkých súborov lokality pred vykonaním obnovy.
  • Po odstránení všetkých súborov lokality obnovte lokalitu zo zálohy vytvorenej pred napadnutím. Často stačí obnoviť iba súbory lokality, ale ak sa po ich obnovení zistia chyby v prevádzke lokality, je potrebné lokalitu úplne obnoviť: súbory aj databázu.
  • Po obnovení zo zálohy aktualizujte systém na správu obsahu (CMS) a rozšírenia na najnovšie verzie. Je to potrebné, aby sa vylúčila prítomnosť známych zraniteľností na stránke, prostredníctvom ktorej by mohla byť napadnutá. Aktualizáciu je možné spravidla vykonať cez sekciu administrácie CMS. Na získanie úplné pokyny Ak chcete aktualizovať CMS, musíte prejsť na webovú stránku vývojára systému. Je dôležité aktualizovať nielen samotný CMS, ale aj všetky jeho rozšírenia, pretože k hackingu často dochádza prostredníctvom zraniteľnosti prítomnej v niektorom z rozšírení CMS (napríklad pluginy, témy, widgety atď.). V tejto chvíli je stále nemožné odblokovať stránku pre návštevníkov, pretože môže byť stále zraniteľná. Ak chcete získať prístup k aktualizáciám, kontaktujte nás technická podpora hostiteľa vašej stránky a požiadajte o povolenie prístupu na stránku iba z adresy IP vášho počítača. Svoju IP adresu môžete zistiť napríklad na inet.yandex.ru.
  • Po aktualizácii systému správy stránok a jeho rozšírení prejdite do sekcie administrácie stránky a zmeňte k nej prístupové heslo správcu. Uistite sa, že medzi používateľmi stránky nie sú žiadni ďalší používatelia s oprávneniami správcu (mohol ich pridať útočník) a ak sa nejaký nájdu, odstráňte ich.
  • Teraz, keď bola stránka obnovená zo zálohy a neobsahuje škodlivé skripty, CMS a jeho rozšírenia boli aktualizované na najnovšie verzie, v ktorom nie sú žiadne slabé miesta a prístupové heslá na stránku a hostingový účet boli zmenené, môžete stránku znova otvoriť návštevníkom.
  • Všetky vyššie uvedené činnosti musia byť vykonané v súlade so špecifikovaným poradím, bez vynechania alebo akýchkoľvek zmien. Pri nepresnom vykonaní akcií môžu na stránke zostať škodlivé skripty alebo zraniteľné miesta, v dôsledku čoho môže byť po krátkom čase opäť napadnutá útočníkom. Ak z nejakého dôvodu nie je možné vykonať vyššie uvedené kroky vo forme, v akej sú uvedené, obráťte sa na špecialistu, aby vykonal prácu na obnovení lokality po hackovaní.

    Ak chcete chrániť svoje stránky pred opakovanými hacknutiami v budúcnosti, musíte dodržiavať nasledujúce odporúčania:
  • Sledujte aktualizácie CMS a jeho rozšírení na webových stránkach vývojárov a okamžite ich aktualizujte na najnovšie verzie. Ak komentár k aktualizácii uvádza, že opravuje chybu zabezpečenia, nainštalujte aktualizáciu čo najskôr.
  • So stránkou a hostingovým účtom pracujte len z počítačov, ktoré sú pred vírusmi chránené modernými antivírusmi s neustále aktualizovanými vírusovými databázami.
  • Použite zložité heslá, aby ich nebolo možné vybrať vyhľadávaním v slovníku.
  • Neukladajte heslá FTP a SSH v programoch na pripojenie k lokalite a neukladajte prístupové heslo do administratívnej oblasti lokality a ovládacieho panela hosťovania vo svojom prehliadači.
  • Z času na čas (napríklad raz za tri mesiace) zmeňte heslá pre prístup na stránku a hostingový účet.
  • Ak boli na počítači, z ktorého ste so stránkou pracovali, zistené vírusy, zmeňte si čo najrýchlejšie prístupové heslá k stránke a hostiteľskému účtu. Je potrebné zmeniť všetky heslá: prístupové heslá cez FTP, SSH, heslo z administratívneho panela stránky, ako aj heslo z ovládacieho panela hostingu.
  • Neposkytujte prístup na stránku tretím stranám, pokiaľ si nie ste istí, že budú tiež dodržiavať tieto pokyny.
  • Škodlivý JavaScript

    Môj názor, že je jednoduchšie a efektívnejšie chrániť sa pred vloženými škodlivými skriptami prehliadača (uloženými XSS útokmi) pomocou nástrojov prehliadača, som uviedol už skôr: . Ochrana prehliadača pred JavaScriptom, ktorá pozostáva z pridávania filtrovacieho kódu na html stránky webu, je pravdepodobne spoľahlivá, prítomnosť takejto ochrany však nevylučuje potrebu použiť aj serverový filter. Pre rovnaké útoky XSS môžete na serveri zorganizovať ďalšiu obrannú líniu. Nesmieme zabúdať ani na možnosť, že by útočník do správy HTML odoslanej zo stránky vložil skripty, ktoré nie sú založené na prehliadači, ale na strane servera (php), ktoré prehliadač nebude schopný rozpoznať.

    Útočný skript, či už založený na prehliadači alebo na serveri, je program, treba si myslieť, že program bude mať vždy nejaké symbolické rozdiely od „čistého“ html. Pokúsme sa nájsť takéto rozdiely a použiť ich na vytvorenie HTML filtra na serveri. Nižšie sú uvedené príklady škodlivého JavaScriptu.

    XSS:

    Nejaký text


    Nejaký text

    Šifrované XSS:

    Nejaký text


    Nejaký text

    Prehliadače obnovujú text zo znakových primitív, ktoré sa nachádzajú nielen vo vnútri html kontajnerov (medzi otváracou a zatváracou značkou), ale aj vo vnútri samotných značiek (medzi< и >). Kódovanie URL je povolené v http adresách. To sťažuje rozpoznanie škodlivého kódu na strane servera, pretože rovnaká sekvencia znakov môže byť reprezentovaná rôznymi spôsobmi.

    XSS červy:

    "+innerHTML.slice(action= (method="post")+".php",155)))">





    alert("xss");with(new XMLHttpRequest)open("POST","post.php"),send("content="+_.outerHTML)

    Vyššie uvedené XSS červy sú len niektoré z mnohých prihlásených do súťaže Roberta Hansena (aka RSnake) v januári 2008 o najkratšieho škodlivého JavaScriptového červa (výsledky súťaže).

    Známky útokov XSS

    XSS skript je program, ktorý pristupuje k objektom DOM (Document). Objektový model) a ich metódy. V opačnom prípade je nepravdepodobné, že by bol nejakým spôsobom škodlivý. Napríklad reťazec JavaScript
    onckick="var a = "xss""
    neovplyvňuje objektový model dokumentu, takže aj keď je vložený do značky html, takýto reťazec je neškodný. Iba manipuláciou s objektmi dokumentu HTML a ich metódami môže hacker spôsobiť značné škody na stránke. Napríklad linka
    onmousemove="document.getElementsByTagName("body").innerHTML="XSS""
    už nahrádza obsah stránky.

    Znakom prístupu k metódam DOM sú zátvorky, ako aj bodky naľavo od znamienka rovnosti. Zátvorky je možné použiť aj v html na nastavenie farby vo formáte rgb(), avšak farby písma a pozadia v html sa nastavujú ešte minimálne tromi spôsobmi. Preto môžu byť zátvorky obetované bez toho, aby to ohrozilo expresívnosť html textu. Je potrebné akceptovať ako pravidlo, že zátvorky sú vo vnútri značky (teda medzi< и >) - toto je veľmi nebezpečné, ak dostaneme správu od užívateľa na serveri, táto správa obsahuje zátvorky vo vnútri tagov, tak najvhodnejšie by sme mali takúto správu zablokovať.

    Bodka môže byť obsiahnutá v html značkách: pri zadávaní adresy odkazu (tag ); pri nastavovaní veľkosti html prvkov (style="height:1.5in; width:2.5in;" ). Ale znakové sekvencie formulára
    písmeno bod sa rovná
    nemôže byť v html tagoch. Ak je zadaná sekvencia prítomná vo vnútri značky html, správa od používateľa s najväčšou pravdepodobnosťou obsahuje skript a mala by byť zablokovaná.

    Ďalším zjavným znakom nebezpečenstva je symbol „+“ vo vnútri štítku. V html bez skriptov nič také neexistuje. Ak vo vnútri tagov nájdeme plusy, správu nemilosrdne zablokujeme.

    Používateľ s dobrými úmyslami, ktorý pridá komentár pomocou vizuálneho editora, sa nikdy neuchýli k šifrovaniu pomocou symbolických primitív vnútri značiek html. Použitie symbolických primitív v tagoch ​​neprináša žiadne výhody v podobe dodatočných výrazových prostriedkov, vyžaduje si len dodatočný čas na písanie. Vo väčšine prípadov by si niekto mohol myslieť, že dobre zmýšľajúci používateľ ani nevie, že v HTML existujú určité znakové primitívy. Z toho vyplýva pravidlo: ampersand vo vnútri značky je dôkazom útoku na stránku. Ak to teda vidíme, správu zablokujeme.

    Podobné pravidlo by sa malo prijať v súvislosti so symbolom „%“, ktorý možno použiť pri kódovaní adresy URL. Percentá sa však používajú aj v „čistom“ html na nastavenie relatívnych veľkostí prvkov. Nebezpečné kombinácie sú tie, v ktorých za znakom „%“ bezprostredne nasleduje písmeno alebo číslo.

    Neutralizácia serverových skriptov

    Na rozdiel od tlmočníkov JavaScriptu v prehliadačoch tlmočník PHP na serveri nepovoľuje slobody pri písaní textu programu. Preto na neutralizáciu možného skriptu servera stačí v HTML správe používateľa úplne nahradiť všetky znaky, ktoré sú nevyhnutné pri písaní programu PHP, ich primitívami HTML. Prvé znaky, ktoré sa majú nahradiť, sú dolár a podčiarknutie, bodka, okrúhle, štvorcové a kučeravé zátvorky, znamienka plus a mínus, znamienko spätnej lomky.

    PHP filter pre HTML správy

    $message je html správa prijatá z vizuálneho editora na server.

    // zapamätať si dĺžku správy $lenmessage = strlen($message); // vystrihnite značku komentára $message = preg_replace("//", "", $message); // vyrežte každú značku, v ktorej atribút "src" odkazuje na externý zdroj $message = preg_replace("/]+?src[\w\W]+\/\/[^>]+?>/i" , " ", $správa); // vystrihne každú značku, ktorá obsahuje akýkoľvek znak okrem: - a-z 0-9 / . : ; " = % # medzera $správa = preg_replace("/]+[^->a-z0-9\/\.\:\;\"\=\%\#\s]+[^>]+?> /i", "", $správa); // vystrihne každý tag, ktorý obsahuje sekvenciu ". a-z =" $message = preg_replace("/]+?\.+?\=[^>]+?>/i", "", $message); // vystrihnite každú značku, ktorá obsahuje sekvenciu "% a-z" alebo "% 0-9" $message = preg_replace("/]+?\%+?[^>]+?>/i", "", $ správa); // vystrihne každý tag, ktorý obsahuje sekvenciu "script" alebo "js:" $message = preg_replace("/]*?script[^>]*?>/i", "", $message); $message = preg_replace("/]*?js:[^>]*?>/i", "", $message); // vystrihnúť každú značku, ktorá začína iným znakom ako "a-z" alebo "/" $message = preg_replace("/]*?>/i", "", $message); // kontrola: ak je správa skrátená, tak ukončite program $lenmessage2 = strlen($message); if ($lenmessage != $lenmessage2) ( print "Správu nemožno pridať"; exit; ) // vykoná úplné nahradenie nebezpečných znakov ich zodpovedajúcimi primitívami $message = str_replace("$", "$" , $správa); $správa = str_replace("_", "_", $správa); $správa = str_replace(".", ".", $správa); $správa = str_replace(chr(92), "\", $správa); // \ $správa = str_replace("(", "(", $správa); $správa = str_nahradiť()", ")", $správa); $správa = str_replace("[", "[", $správa); $message = str_replace("]", "]", $message); $správa = str_replace("(", "(", $správa); $správa = str_replace()", ")", $správa); $správa = str_replace("?", "?", $správa); // teraz je správa overená, skripty v nej boli neutralizované

    Je potrebné poznamenať, že filter neodstráni spárované značky. Povedzme, že máme
    Kliknite tu!
    Filter vystrihne iba značku , ale spárovaná (uzavieracia) značka zostane. Ak do prehliadača odošlete správy, ktoré obsahujú značky bez zodpovedajúcich párov, môžete zaznamenať problémy vo forme „zošikmenia“ stránky. Nie je známe, s ktorou otváracou značkou sa prehliadač zhoduje so zvyšnou nespárovanou koncovou značkou. Preto a tiež z bezpečnostných dôvodov by sa správy, v ktorých bolo niečo filtrom vystrihnuté, nemali do prehliadača odosielať vôbec. Je lepšie vytlačiť niečo ako "Správu nebolo možné pridať" a ukončiť program.

    Očakáva sa, že správa bude zapísaná do súboru (nie do databázy).

    Diskusia

    Budem vďačný za kritiku. Napíšte do fóra podpory v sekcii