Wygląd strony internetowej opartej na systemie zarządzania treścią WordPress zmienić można za pomocą niezliczonej ilości szablonów. Niestety nie wszystkie motywy są bezpieczne i nie wszystkie udostępnione zostały w dobrych intencjach.

Szablony WordPressa słowem wstępu

WordPress jest jednym z najbardziej popularnych systemów zarządzania treścią, na którym oparta jest ogromna ilość blogów (przede wszystkim) oraz innego typu stron internetowych. Za to jak będzie wyglądała dana strona www oraz jakie będzie jej główne przeznaczenie odpowiada przede wszystkim szablon (motyw, skórka).

W sieci znaleźć można wiele bezpłatnych oraz płatnych szablonów, różniących się od siebie niemal wszystkim - autorzy motywów dbają o to, aby ich szablony wyróżniały się na tle innych i były lepsze, ładniejsze czy nowocześniejsze. Dzięki temu każdy może znaleźć coś dla siebie.

Jak już wspomniałem szablony WordPressa można podzielić na płatne i darmowe. Ciężko jednak zaryzykować tezę, że płatny szablon będzie lepszy niż darmowy, jednak bardzo często tak właśnie jest. Płatne motywy zwykle tworzone są przez bardziej doświadczonych programistów, są lepiej zaprojektowane oraz posiadają więcej możliwości konfiguracyjnych. Co prawda zawodowi programiści udostępniają także bezpłatne motywy, jednak są to zazwyczaj wersje demonstracyjne, reklamowe lub po prostu słabiej rozbudowane.

Płacić, czy nie płacić?

Czasami bywa tak, że pojawia się okazja lub nazwijmy to może nieco inaczej - pojawia się pokusa pozyskania płatnej rzeczy zupełnie za darmo. Mam tu na myśli takie miejsca w internecie, z których da się pobrać materiały bez ważnej licencji oraz bez dbania o prawa autorskie.

Warto wspomnieć, że koszt zakupu legalnego motywu waha się średnio w granicach 150-200 zł, więc ominięcie takiej opłaty może być w pewnym sensie kuszące. Kuszące, ale czy na pewno opłacalne?

Wirusy, robaki, trojany, złośliwe skrypty...

Tak, wirusy... oraz wszelkiego rodzaju złośliwe skrypty już na nas czekają - we wspomnianych wyżej kuszących motywach.

Ostatnio dużą popularność oraz złą sławę zyskał backdoor o nazwie CryptPHP, którym jak się okazuje zarażonych została ogromna ilość szablonów oraz wtyczek udostępnianych bezpłatnie z pogwałceniem praw autorskich. Warto nadmienić, że ilość zainfekowanych stron internetowych jest tak duża również dlatego że CryptPHP nie zadowala się tylko użytkownikami WordPressa - zarażone zostały nim również motywy i rozszerzenia innych systemów zarządzania treścią, takich jak Joomla czy Drupal.

Zaopatrzenie się w tak spreparowany motyw lub wtyczkę umożliwia przejęcie pełnej kontroli nad naszą stroną, a także wykradanie poufnych danych użytkowników (np. loginów i haseł). Oczywiście na tym możliwości tego typu skryptów się nie kończą. Tak naprawdę wszystko co znajduje się na stronie lub w bazie danych może dość łatwo dostać się w ręce cyberprzestępców, zostać trwale usunięte lub zmodyfikowane w krzywdzący dla nas sposób.

Znanym zjawiskiem jest także umieszczanie w szablonach, skryptów odpowiedzialnych za "ciche" wysyłanie e-maili do jego autora - chociażby z informacją o tym, na jakiej stronie dany motyw został użyty (i nie tylko).

Złośliwe skrypty bardzo często służą również do pozycjonowania obcych stron www poprzez nachalne dodawanie linków pozycjonujących w najróżniejszych miejscach naszej strony. Co gorsze - zainfekowana w ten sposób strona internetowa może całkiem zniknąć z wyników wyszukiwania Google oraz innych wyszukiwarek internetowych z powodu posiadania nienaturalnych linków. Ponadto pozbycie się takich linków jak i samego wirusa jest zwykle bardzo trudne, czasochłonne oraz wymaga posiadania wiedzy programistycznej.

Czy Twoja strona aby na pewno nie jest zarażona?

Każdy złośliwy skrypt może zachowywać się w odmienny sposób, a bardzo często posiadać nawet kilkanaście/kilkadziesiąt różnych odmian przez co jego zidentyfikowanie i wyeliminowanie staje się skomplikowane. Możemy być nawet zupełnie nieświadomi, że z naszą stroną dzieje się coś niedobrego.

Z pomocą przychodzą nam różne narzędzia, dzięki którym można ograniczyć ryzyko zainfekowania strony lub przeskanować ją pod kątem najpopularniejszych złośliwych skryptów.

Skanery złośliwego oprogramowania

VirusTotal, to pierwsze narzędzie z którego polecam skorzystać. Jest to darmowy skaner najczęściej spotykanych wirusów, robaków, trojanów oraz innego typu złośliwego oprogramowania. Jego zaletą jest to, że nie wymaga żadnej instalacji, a skanowanie odbywa się online za pośrednictwem strony www producenta. Z drugiej strony należy pamiętać o tym, że narzędzie to skanuje już wygenerowaną przez parser stronę HTML i nie ma bezpośredniego dostępu do plików źródłowych, przez co może nie być w stanie wykryć wszystkich zagrożeń.

Aby przeskanować swoją stronę www należy przejść do zakładki URL na stronie VirusTotal

Bardzo podobnym do VirusTotal narzędziem jest SUCURI - nie zaszkodzi przetestować.

Samodzielna analiza kodu strony internetowej

Do analizy kodu strony internetowej niezbędna będzie co najmniej podstawowa znajomość takich języków programowania jak HTML, PHP oraz JavaScript.

Jak już wcześniej wspomniałem dość powszechną techniką infekcji szablonów stron www jest dodawanie w ich treści niepożądanych linków pozycjonujących w sposób niemal niewidoczny dla zwykłego użytkownika. Linki te widoczne są w kodzie strony, dzięki czemu roboty wyszukiwarek internetowych (np. Google) widzą go i podążają za nim, przekazując tym samym moc pozycjonerską. Z kolei dzięki wykorzystaniu atrybutów stylów CSS, takich jak np. text-indent: -9999px; link nie jest widoczny na stronie, tylko kilkadziesiąt cm poza ekranem monitora/wyświetlacza. Między innymi dlatego trudno odkryć, że z naszą stroną jest coś nie tak.

Linki wychodzące z naszej strony możemy przeanalizować za pomocą narzędzi SEO, takich jak np. internetowy skaner Web-Tools lub darmowy program pod Windows o nazwie Xenu

Program Xenu potrafi także wykryć linki, które wychodzą z naszej strony i prowadzą do już nieistniejących stron lub podstron - można przeskanować swoją stronę też pod tym kątem, a następnie pozbyć się niedziałających linków lub zastąpić je nowymi.

Przykładowy groźny zapis w kodzie szablonu może wyglądać tak:

1
2
3
<?php
    include('assets/images/social.png');
?>

Funkcje include() oraz require() w języku PHP umożliwiają wczytanie do zawartości strony pliku tekstowego lub binarnego (np. obrazka). Jeśli jednak funkcja ta wykryje w treści pliku kod , to traktuje taki plik jako skrypt i interpreter języka PHP wykonuje go. Niestety w pliku graficznym również można zaszyć kod php i nie jest to wcale trudne. Po co jednak zaszywać złośliwy skrypt w obrazku? - Np. po to, aby trudniej było go wykryć.

Innego typu groźny kod może ukrywać się pod bliżej nieokreślonym ciągiem znaków, np:

1
2
3
4
<?php
    $xml='PGEgaHJlZj0iYXJ0aXNvLnBsIj5BcnRpc28ucGw8L2E+';
    echo base64_decode($xml);
?>

Nie jest to nic innego, jak zakodowany ciąg znaków, do którego rozkodowania użyta została funkcja języka PHP base64_decode(). W powyższym przykładzie podałem krótki kod, jednak z reguły składa się on ze znacznie większej ilości znaków. Zawierać może niemal wszystko, a jeśli chciałbyś się przekonać co, to możesz skorzystać z jakiegokolwiek internetowego dekodera, np. dostępnego na stronie devtoolkit.net

Wtyczki zabezpieczające stronę przed wirusami

Istnieje bardzo wiele wtyczek antywirusowych do WordPressa, różniących się od siebie sposobem działania, stopniem zaawansowania oraz skutecznością.

Jedną z ciekawszych wtyczek zabezpieczających do systemu WordPress jest Wordfence Security

Wordfence Security jest dość rozbudowaną wtyczką, która spełnia niejako 3 zadania:

  • zabezpiecza stronę przed atakami hakerów,
  • wykrywa złośliwe oprogramowanie,
  • posiada funkcję Casching Falcon Engine, która przyśpiesza wczytywanie się strony.

Oczywiście to tylko namiastka tego, co potrafi ta wtyczka, dlatego warto ją zainstalować i przyjrzeć się jej bliżej.

Kolejna warta uwagi wtyczka do WordPressa nazywa się Theme Authenticity Checker (TAC)

Wtyczka ta skanuje wszystkie zainstalowane w WordPressie szablony i w przypadku wykrycia w nich złośliwego kodu wyświetla go wraz z podaniem nazwy motywu, ścieżki do pliku oraz numeru linii. Jeśli zależy Ci na prostej wtyczce bez dodatkowych funkcjonalności, to będzie to bardzo dobry wybór.

Po przeskanowaniu szablonów wtyczkę można wyłączyć, aby nie obciążała dodatkowo WordPressa, oraz aktywować ją ponownie w przypadku zainstalowania nowego szablonu lub zaktualizowania bieżącego.

Theme Check jest narzędziem używanym przez moderatorów oficjalnego repozytorium WordPressa.

Wtyczka ta służy do weryfikacji szablonów oraz znajdowania w nich typowych błędów, złośliwego kodu oraz ukrytych linków reklamowych. Głównym przeznaczeniem wtyczki jest sprawdzenie, czy szablon spełnia wymagania jakie stawia platforma WordPress. Opis komunikatów wyświetlanych przez Theme Check został w bardzo fajny i szczegółowy sposób opisany na blogu wpzen.pl - zachęcam do przeczytania.

Profilaktyka

Wspieranie twórców szablonów oraz rozszerzeń do stron www poprzez legalne nabywanie licencji z pewnością jest pierwszym krokiem ku bezpieczeństwu. Oczywiście niektóre dodatki są zawsze darmowe lub udostępniane w różnych wersjach, np.: bezpłatnej ograniczonej i płatnej rozszerzonej lub bezpłatnej do zastosowań indywidualnych oraz płatnej do zastosowań komercyjnych. Mimo wszystko zawsze należy pobierać je z oficjalnych stron ich twórców lub bezpośrednio z panelu zarządzania danym systemem CMS lub z jego oficjalnej internetowej bazy dodatków - dla WordPressa jest to strona https://wordpress.org/plugins

Podsumowanie

Możliwość bezpłatnego pobrania nielegalnej kopii szablonu strony www może być kusząca, ale w obawie o konsekwencje prawne oraz bezpieczeństwo własnej strony i danych się tam znajdujących, nie warto jest się narażać.

Trzeba też być bardzo czujnym podczas pobierania darmowych szablonów do popularnych systemów CMS z nieoficjalnych i mało wiarygodnych źródeł. Po pierwsze warto sprawdzić, czy nie jest to nielegalna kopia płatnego szablonu oraz czy nie został on stworzony i udostępniony w złych celach.