Zdalne wykonywanie kodu: przewodnik dla użytkowników WordPress
Opublikowany: 2021-04-28Jeśli poważnie podchodzisz do kwestii bezpieczeństwa swojej witryny, nadszedł czas, aby dowiedzieć się o zagrożeniach związanych z lukami w zabezpieczeniach zdalnego wykonywania kodu i sposobach ich zwalczania.
Termin zdalne wykonanie kodu (RCE) odnosi się do kilku różnych technik hakerskich i cyberataków, ale wszystkie mają jedną wspólną cechę. RCE, czasami określane jako wstrzykiwanie kodu, to coraz częstszy sposób, w jaki hakerzy mogą włamywać się do wszelkiego rodzaju witryn internetowych, w tym witryn, które wykorzystują WordPress jako system zarządzania treścią.
W tym przewodniku wyjaśnimy szczegółowo, jak wygląda atak polegający na wykonaniu zdalnego kodu oraz dokładnie wyjaśnimy, jakie kroki należy podjąć, aby go uniknąć. Spójrzmy.
Co to są ataki na zdalne wykonanie kodu (RCE)?
Zdalne wykonanie kodu (RCE) to rodzaj luki, która daje hakerowi możliwość uzyskania dostępu i zmiany komputera lub bazy danych należących do kogoś innego. Podczas ataku RCE haker przejmuje serwer lub komputer za pomocą złośliwego oprogramowania (arbitralnego złośliwego oprogramowania).
Atak polegający na zdalnym wykonaniu kodu jest przeprowadzany bez upoważnienia właściciela sprzętu i nie ma znaczenia, gdzie na świecie przechowywane są dane.
Wyjaśnienie ataków RCE
Pomocne może być myślenie o atakach na zdalne wykonanie kodu, takich jak infekcje termitami:
- Termit zakopuje się pod domem.
- Właściciel domu o tym nie wie i na pewno nie zaprosiłby termita, gdyby wiedział o szkodach, które zamierzają wyrządzić.
- Termit zjada fundament domu, dopóki dom nie stoi.
Chociaż metafora nie jest dokładnie taka sama jak sposób działania ataku RCE, atak RCE jest w rzeczywistości gorszy . W przeciwieństwie do termity, który musi być w twoim domu (lub w nim), haker może dostać się na twoją stronę z dowolnego miejsca.
Faktem jest, że ataki RCE są niezwykle niebezpieczne, ponieważ hakerzy mogą wykonać dowolny rodzaj złośliwego kodu na podatnym serwerze. Naprawdę nie ma ograniczeń co do szkód, jakie wykwalifikowany haker RCE może wyrządzić Twojej witrynie WordPress, jeśli uzyska do niej dostęp.
Przykład zdalnego wykonania kodu
W 2018 r. Microsoft ujawnił lukę umożliwiającą zdalne wykonanie kodu znalezioną w programie Excel. Osoba atakująca może wykorzystać tę lukę do uruchomienia dowolnego kodu w kontekście bieżącego użytkownika.
Jeśli bieżący użytkownik był zalogowany z uprawnieniami administratora, osoba atakująca może przejąć kontrolę nad systemem, którego dotyczy luka. Atakujący może wówczas zainstalować programy; przeglądać, zmieniać lub usuwać dane; lub utwórz nowe konta z pełnymi prawami użytkownika. Użytkownicy, których konta zostały skonfigurowane tak, aby mieć mniej praw użytkownika w systemie, mogą być mniej podatni niż użytkownicy, którzy działają z uprawnieniami administratora.

Jakie są rodzaje zdalnego wykonywania kodu?
Aby lepiej zrozumieć hacki RCE, musisz zdawać sobie sprawę z różnych rodzajów zdalnego wykonywania kodu:
Wstrzyknięcia SQL
Twoja witryna WordPress korzysta z bazy danych MySQL. Wstrzykiwanie SQL następuje, gdy atakujący uzyskuje dostęp do Twojej bazy danych WordPress i do wszystkich danych Twojej witryny.
Za pomocą wstrzyknięcia SQL osoba atakująca może utworzyć nowe konto użytkownika na poziomie administratora, które może następnie zostać użyte do zalogowania się i uzyskania pełnego dostępu do witryny WordPress. Wstrzykiwania SQL mogą być również wykorzystywane do wstawiania nowych danych do Twojej bazy danych, w tym linków do złośliwych lub spamowych stron internetowych.
Wiele luk RCE atakuje sposób, w jaki konstruowane są instrukcje SQL WordPress. Na przykład, jeśli aplikacja musi odczytać nazwy użytkowników z bazy danych, programista może popełnić błąd, używając kodu takiego jak poniższy do wyszukiwania nazwy użytkownika:
SELECT * FROM użytkowników WHERE nazwa = 'nazwa użytkownika'
Ale na czym polega problem z zapytaniem takim jak to, które odnosi się do RCE? Każdy odwiedzający Twoją witrynę WordPress, nawet hakerzy o złych zamiarach, może wprowadzić nazwę użytkownika. Jako przykład haker może wpisać '1”1'= –, OR ', co skutkowałoby taką instrukcją SQL:
SELECT * FROM użytkowników WHERE nazwa = '1'='1' --' OR ''
Zakładając, że aplikacja przeszukuje całą bazę danych w poszukiwaniu nazw użytkowników witryny, a następnie zaznacza każde pole, w którym znajduje się pusta nazwa, gdy 1 jest równe 1, to drugie jest zawsze prawdziwe. W efekcie hakerzy otrzymują każdą nazwę użytkownika w bazie danych SQL.
Wyciek danych, taki jak ten, nie jest jednak jedynym zagrożeniem związanym z wstrzyknięciami SQL. Atakujący może również wysłać wiele poleceń do bazy danych SQL, które mogą nadpisać lub usunąć kluczowe dane witryny WordPress.
Skrypty między witrynami
Cross-site scripting to kolejna luka w RCE. Wpływa bezpośrednio na odwiedzających witrynę, a nie na serwery. Cross-site scripting (XSS) to rodzaj ataku złośliwego oprogramowania, który jest wykonywany przez wykorzystanie luk w zabezpieczeniach między witrynami w dowolnej witrynie WordPress. W rzeczywistości jest to najczęstszy sposób hakowania witryn WordPress, ponieważ istnieje tak wiele wtyczek WordPress, które mają luki XSS.
Na każdej stronie internetowej kod i treść są renderowane w identyczny sposób. Jednak przeglądarka internetowa jest w stanie oddzielić kod od treści, ponieważ jest on zawsze opakowany w znaczniki skryptu. Oznacza to, że bez odpowiedniego filtra osoby atakujące są w stanie upchnąć złośliwy kod w dowolnym miejscu na stronie internetowej, które umożliwia wprowadzenie tekstu. Bez odpowiedniego filtra, napastnicy są w stanie upchnąć złośliwy kod w dowolnym miejscu na stronie internetowej, które pozwala na wprowadzenie tekstu. jesteś chroniony?
Obejmuje to wrażliwe pola, takie jak paski wyszukiwania (często na każdej stronie witryny WordPress), sekcje komentarzy, a nawet wyświetlane nazwy.
Po wykonaniu tego ataku przeglądarka, na której działa Twoja witryna, uruchomi złośliwy kod.
Skrypty między witrynami nie byłyby tak dużym problemem bezpieczeństwa, gdyby były wykonywane tylko w przeglądarce atakującego. Jeśli jednak złośliwy kod będzie widoczny publicznie, na przykład w sekcjach komentarzy w Twoich postach na blogu, wpłynie to również na każdego odwiedzającego, który wyświetli zawartość.
Dzięki tej niebezpiecznej możliwości zdalnego wykonania dowolnego kodu, atak może łatwo ukraść hasła i udawać legalnych użytkowników.
Mogą również potencjalnie przeglądać dane osobowe użytkownika, takie jak dane karty kredytowej lub informacje o koncie PayPal.
Przeglądanie katalogów
Ten atak nie jest wymierzony w aplikację ani odwiedzających witrynę WordPress. Zamiast tego głównym celem jest Twoja rzeczywista witryna.
Luka RCE wykorzystuje sposób przechowywania plików witryny w systemie plików serwera witryny.
Zwykle dane są przechowywane w standardowym katalogu, takim jak /home/user/public_html. Skrypty w katalogu uzyskują dostęp do plików przy użyciu ścieżki względnej, takiej jak wp-admin/index.php, która bezpośrednio odwołuje się do /home/user/public_html/wp-admin/index.php.
Kiedy skrypt jest skonfigurowany do dostępu do pliku, który znajduje się poza bieżącym katalogiem, robi to po prostu dołączając „../”. Odnosi się to do katalogu, który znajduje się jeden krok powyżej bieżącego katalogu.
Na przykład wzorzec katalogu /home/user/public_html/../ jest skierowany do /home/user/.
Jeśli skrypt może odczytywać lub przesyłać z dowolnych niestandardowych nazw plików, atakujący skieruje aplikację do przechodzenia przez katalogi o nazwie takiej jak ../../../../../../../ ../../etc/hasło.
Jeśli nie zaimplementowałeś ważnych funkcji bezpieczeństwa, takich jak filtrowanie danych wejściowych, haker może uzyskać bezpośredni dostęp do podstawowych plików serwera, co jest złą wiadomością dla bezpieczeństwa Twojej witryny.
Co możesz zrobić, aby zapobiec atakom zdalnego wykonania kodu (RCE)?
Szczegółowe informacje zawarte w tym przewodniku nie mają na celu zastraszenia ani wywołania strachu. Ma to raczej na celu podkreślenie rosnącego znaczenia posiadania najbardziej niezawodnych środków bezpieczeństwa witryny WordPress przez cały czas.
Służy również jako przypomnienie o ciągłym aktualizowaniu wtyczek, aby upewnić się, że nie są one otwarte na nowe luki w RCE.
Zdecydowaną większość ataków RCE można złagodzić lub całkowicie powstrzymać, po prostu pozostając ich świadomym i będąc przygotowanym, zanim się pojawią. Jako właściciele witryn WordPress, ważne jest, aby przewidzieć i zrozumieć, w jaki sposób nasze serwery witryn przetwarzają informacje dostarczane przez naszych użytkowników.
Jak zapobiegać atakom na zdalne wykonanie kodu (RCE): 5 kroków
Najlepszym sposobem na zabezpieczenie witryny przed lukami w zabezpieczeniach RCE jest zastosowanie wieloaspektowego systemu obronnego. Innymi słowy, nawet jeśli zawiedzie Cię jedna linia obrony, nadal będziesz chroniony przed potencjalnym atakiem.
Mając to na uwadze, rzućmy okiem na niektóre z najważniejszych kroków, które należy podjąć, aby zapobiec tym złośliwym i często niebezpiecznym atakom. Kilka czynników może sprawić, że Twoja witryna WordPress będzie bardziej podatna na udane ataki.
1. Pobierz i zainstaluj wtyczkę iThemes Security Pro
Aby rozpocząć zabezpieczanie i ochronę swojej witryny, pobierz i zainstaluj wtyczkę iThemes Security Pro.
Pobierz teraz iThemes Security Pro
2. Aktywuj zarządzanie wersjami, aby aktualizować rdzeń, wtyczki i motywy WordPress
Mówiąc najprościej: narażasz się na atak, jeśli używasz przestarzałych wersji WordPressa, wtyczek i motywów w swojej witrynie. Aktualizacje wersji często zawierają poprawki dotyczące problemów z zabezpieczeniami w kodzie, w tym luk w zabezpieczeniach zdalnego wykonania kodu (RCE), dlatego ważne jest, aby zawsze uruchamiać najnowszą wersję całego oprogramowania zainstalowanego w witrynie WordPress.
Aktualizacje pojawią się na pulpicie WordPress, gdy tylko będą dostępne. Przećwicz tworzenie kopii zapasowej, a następnie uruchamianie wszystkich dostępnych aktualizacji za każdym razem, gdy logujesz się do witryny WordPress. Chociaż zadanie uruchamiania aktualizacji może wydawać się niewygodne lub męczące, jest to ważna najlepsza praktyka bezpieczeństwa WordPress.

Trudno jest śledzić każdą ujawnioną lukę w zabezpieczeniach WordPress — śledzimy je i udostępniamy w naszych podsumowaniach luk w zabezpieczeniach WordPress — i porównujemy tę listę z wersjami wtyczek i motywów, które zainstalowałeś w swojej witrynie. Nie powstrzymuje to jednak hakerów WordPress przed atakowaniem wtyczek i motywów ze znanymi lukami. Posiadanie w witrynie zainstalowanego oprogramowania ze znanymi lukami daje hakerom plany, których potrzebują, aby przejąć witrynę.
Funkcja zarządzania wersjami we wtyczce iThemes Security Pro umożliwia automatyczną aktualizację WordPress, wtyczek i motywów. Poza tym zarządzanie wersjami oferuje również opcje utwardzania witryny, gdy używasz przestarzałego oprogramowania i skanujesz w poszukiwaniu starych witryn.
Aby rozpocząć korzystanie z zarządzania wersjami, włącz moduł na stronie głównej ustawień zabezpieczeń.

Teraz kliknij przycisk Konfiguruj ustawienia , aby przyjrzeć się bliżej ustawieniom, zaprojektowanym w celu ochrony Twojej witryny.

- Aktualizacje WordPress — Automatycznie zainstaluj najnowszą wersję WordPress.
- Aktualizacje wtyczek — Automatycznie instaluj najnowsze aktualizacje wtyczek. Włączenie tego ustawienia spowoduje wyłączenie funkcji wtyczek automatycznej aktualizacji WordPress, aby zapobiec konfliktom.
- Aktualizacje motywów — Automatycznie instaluj najnowsze aktualizacje motywów. Włączenie tego ustawienia spowoduje wyłączenie funkcji automatycznej aktualizacji motywu WordPress, aby zapobiec konfliktom.
- Wzmocnij witrynę, gdy działa przestarzałe oprogramowanie — Automatycznie dodaj dodatkowe zabezpieczenia do witryny, gdy dostępna aktualizacja nie została zainstalowana przez miesiąc.
- Skanuj w poszukiwaniu starych witryn WordPress – Uruchom codzienne skanowanie konta hostingowego w poszukiwaniu starych witryn WordPress, które mogą umożliwić atakującemu złamanie zabezpieczeń serwera. Pojedyncza nieaktualna witryna WordPress z luką może umożliwić atakującym złamanie zabezpieczeń wszystkich innych witryn na tym samym koncie hostingowym.
- Automatyczna aktualizacja, jeśli naprawi usterkę — ta opcja działa w połączeniu z skanowaniem witryny iThemes Security Pro, aby sprawdzić witrynę pod kątem znanych luk w zabezpieczeniach WordPress, wtyczek i motywów oraz zastosować łatkę, gdy jest dostępna.
Aktualizacje wtyczek i motywów
Teraz przyjrzyjmy się bliżej konfigurowaniu aktualizacji wtyczek i motywów. Zanim zaczniemy, tylko krótkie przypomnienie, że włączenie ustawień aktualizacji wtyczki i motywu spowoduje wyłączenie funkcji automatycznej aktualizacji WordPress, aby zapobiec konfliktom.
Zarówno ustawienia aktualizacji wtyczki, jak i motywu mają trzy możliwości.
- Puste/Brak — pozostawienie pustego ustawienia pozwoli WordPressowi zarządzać aktualizacjami wtyczek i motywów.
- Niestandardowe — opcja Niestandardowa umożliwia dokładne dostosowanie aktualizacji do własnych upodobań. Omówimy to za chwilę.
- Wszystkie – Wszystkie zaktualizują wszystkie wtyczki lub motywy, gdy tylko aktualizacja będzie dostępna.
Przyjrzyjmy się teraz bliżej opcji niestandardowej .

Wybranie opcji Niestandardowe zapewnia trzy różne opcje aktualizacji wtyczek i motywów. Jak widzimy, ustawienie Niestandardowe aktualizacje automatyczne oferuje znacznie większą elastyczność niż opcja włączania i wyłączania automatycznej aktualizacji WordPressa.

3. Przeskanuj swoją witrynę w poszukiwaniu podatnych na ataki wtyczek i motywów
Skaner witryn iThemes Security Pro to kolejny sposób na zabezpieczenie i ochronę witryny WordPress przed główną przyczyną wszystkich włamań do oprogramowania: przestarzałymi wtyczkami i motywami ze znanymi lukami. Skaner witryn sprawdza witrynę pod kątem znanych luk w zabezpieczeniach i automatycznie instaluje łatę, jeśli jest dostępna.
3 rodzaje sprawdzonych luk
- Luki w WordPressie
- Luki w zabezpieczeniach wtyczek
- Luki motywu
Aby włączyć Skanowanie Witryny w nowych instalacjach, przejdź do ustawień iThemes Security Pro i kliknij przycisk Włącz w module ustawień Skanowania Witryny .

Aby uruchomić ręczne skanowanie witryny, kliknij przycisk Skanuj teraz na widżecie skanowania witryny znajdującym się po prawej stronie ustawień zabezpieczeń.

Wyniki skanowania witryny zostaną wyświetlone w widgecie.

Jeśli Skanowanie Witryny wykryje lukę w zabezpieczeniach, kliknij łącze dotyczące luki, aby wyświetlić stronę szczegółów.

Na stronie podatności Site Scan zobaczysz, czy jest dostępna poprawka dla tej luki. Jeśli dostępna jest poprawka, możesz kliknąć przycisk Aktualizuj wtyczkę , aby zastosować poprawkę na swojej stronie internetowej.
Może wystąpić opóźnienie między udostępnieniem poprawki a aktualizacją bazy danych luk w zabezpieczeniach iThemes w celu odzwierciedlenia poprawki. W takim przypadku możesz wyciszyć powiadomienie, aby nie otrzymywać więcej alertów związanych z usterką.
4. Zapobiegaj przejmowaniu sesji
Powinieneś mieć ochronę przed przejęciem sesji dla administratorów i redaktorów w witrynie WordPress, aby chronić się przed lukami w zabezpieczeniach zdalnego wykonywania kodu.
Funkcja iThemes Security Pro Trusted Devices sprawia, że przejmowanie sesji to już przeszłość. Jeśli urządzenie użytkownika ulegnie zmianie podczas sesji, iThemes Security automatycznie wyloguje użytkownika, aby zapobiec wszelkim nieautoryzowanym działaniom na koncie użytkownika, takim jak zmiana adresu e-mail użytkownika lub przesyłanie złośliwych wtyczek.
Funkcja Zaufane urządzenia w iThemes Security Pro działa w celu identyfikacji urządzeń, których Ty i inni użytkownicy używacie do logowania się do witryny WordPress. Po zidentyfikowaniu Twoich urządzeń możemy powstrzymać porywacze sesji i inne złe podmioty przed wyrządzeniem jakichkolwiek szkód w Twojej witrynie.
Gdy użytkownik zalogował się na nierozpoznanym urządzeniu, Zaufane urządzenia mogą ograniczyć jego możliwości na poziomie administratora. Oznacza to, że gdyby atakujący zdołał włamać się do zaplecza Twojej witryny WordPress, nie miałby możliwości dokonania żadnych złośliwych zmian w Twojej witrynie.
Aby rozpocząć korzystanie z Zaufanych urządzeń, włącz je na głównej stronie ustawień zabezpieczeń, a następnie kliknij przycisk Konfiguruj ustawienia .

W ustawieniach Zaufane urządzenia zdecyduj, których użytkowników chcesz używać tej funkcji, a następnie włącz funkcje Ogranicz możliwości i Ochrona przed przejęciem sesji .

Po włączeniu nowego ustawienia Zaufane urządzenia użytkownicy otrzymają powiadomienie na pasku administracyjnym WordPressa o oczekujących nierozpoznanych urządzeniach. Jeśli Twoje bieżące urządzenie nie zostało dodane do listy zaufanych urządzeń, kliknij łącze Potwierdź to urządzenie, aby wysłać e-mail autoryzacyjny.

Kliknij przycisk Potwierdź urządzenie w wiadomości e-mail Nierozpoznany login, aby dodać bieżące urządzenia do listy Zaufane urządzenia.

Po włączeniu Zaufanych urządzeń użytkownicy mogą zarządzać urządzeniami na swojej stronie profilu użytkownika WordPress. Na tym ekranie możesz zatwierdzać lub odrzucać urządzenia z listy Zaufane urządzenia.

Ponadto możesz zarejestrować się w niektórych zewnętrznych interfejsach API, aby poprawić dokładność identyfikacji Zaufanych urządzeń i użyć map statycznych obrazów, aby wyświetlić przybliżoną lokalizację nierozpoznanego loginu. Sprawdź ustawienie Zaufane urządzenia, aby zobaczyć, jakie integracje są dostępne,

5. Włącz uwierzytelnianie dwuskładnikowe dla wszystkich użytkowników administracyjnych
Uwierzytelnianie dwuskładnikowe to proces weryfikacji tożsamości osoby, wymagający dwóch oddzielnych metod weryfikacji. Google udostępnił na swoim blogu, że korzystanie z uwierzytelniania dwuskładnikowego może powstrzymać 100% automatycznych ataków botów. Niezłe szanse!
Wtyczka iThemes Security umożliwia aktywację uwierzytelniania dwuskładnikowego dla witryny WordPress, więc użytkownicy muszą wprowadzić dodatkowy kod, aby się zalogować.
Trzy metody uwierzytelniania dwuskładnikowego dostarczane przez iThemes Security Pro obejmują:
- Aplikacja mobilna — metoda aplikacji mobilnej jest najbezpieczniejszą metodą uwierzytelniania dwuskładnikowego zapewnianą przez iThemes Security Pro. Ta metoda wymaga korzystania z bezpłatnej dwuskładnikowej aplikacji mobilnej, takiej jak Authy lub Google Authenticator.
- E - mail — dwuskładnikowa metoda e-mail wyśle kody wrażliwe na czas na adres e-mail użytkownika.
- Kody zapasowe — zestaw kodów jednorazowych, których można użyć do logowania w przypadku utraty podstawowej metody dwuskładnikowej.
Aby rozpocząć korzystanie z uwierzytelniania dwuskładnikowego w swojej witrynie, włącz funkcję na stronie głównej ustawień iThemes Security Pro.

Wykonaj poniższe czynności, aby kontynuować konfigurowanie uwierzytelniania dwuskładnikowego dla swojej witryny WordPress. Jeśli zastosowałeś się do naszych zaleceń i włączyłeś wymuszanie wymagań dla uprzywilejowanych użytkowników, następną rzeczą, którą zobaczysz, jest miejsce, w którym należy wprowadzić token dwuskładnikowy.

Zapobieganie RCE: dodatkowe wskazówki
1. Używaj tylko dobrze ugruntowanych aplikacji i wtyczek
Proces „ucieczki” świetnie sprawdza się jako pierwsza linia obrony przed lukami w zabezpieczeniach RCE. Istnieją jednak dodatkowe sposoby interpretacji kodu przez serwery i przeglądarki, poza znacznikami skryptu.
Jeśli Twoim celem jest samodzielne śledzenie każdego z nich, byłoby to bardzo skomplikowane i wymagałoby mnóstwa czasu i zasobów.
Na szczęście twórcy aplikacji poświęcili wiele uwagi kwestii luk w zabezpieczeniach RCE.
Najlepiej używać zaufanego i renomowanego CMS (systemu zarządzania treścią), takiego jak WordPress, ponieważ istnieją rozwiązania wbudowane bezpośrednio w platformę oraz motywy i wtyczki, które na niej uruchamiasz.
Zawsze ważne jest, aby wszystkie aplikacje i wtyczki były aktualne, gdy pojawią się nowe wersje. W przypadku wykrycia luk w zabezpieczeniach twórcy oprogramowania będą pracować przez całą dobę, aby wyprzedzić wykryte słabości.
Dotyczy to zarówno autorów wtyczek, jak i motywów.
Jeśli zamiast WordPressa używasz niestandardowego systemu CMS, możesz zabezpieczyć swoją witrynę przed potencjalnymi wstrzyknięciami SQL, korzystając ze sparametryzowanych zapytań. Ten typ zapytania z wyprzedzeniem poinformuje aplikację o dokładnym typie zapytania, które zamierzasz uruchomić. Następnie rozpozna i usunie dodane polecenia, które haker może próbować wstawić. Zamiast pomyślnego wstawienia wyśle oryginalne zapytanie i wykluczy dodany ciąg.
W powyższym przykładzie sparametryzowane zapytanie wyglądałoby tak:
$query=”SELECT * FROM użytkowników WHERE nazwa = ?” $results=$query.execute(“ ' LUB '1'='1' --”)
W tym scenariuszu baza danych obsługuje ' OR '1'='1′ we właściwy sposób. Traktuje to zapytanie jako ciąg zawierający tylko tekst i rozumie, że z podaną nazwą nie jest powiązany żaden użytkownik.
2. Sprawdź poprawność danych wejściowych użytkowników
Najlepszym miejscem do rozpoczęcia zapobiegania lukom RCE jest miejsce, w którym użytkownicy Twojej witryny wchodzą w interakcję z Twoją aplikacją.
Najprostszą metodą jest usunięcie i odfiltrowanie wszelkich znaków, które są niepożądane.
Jeszcze inną opcją jest zachowanie treści poprzez jej ucieczkę.
Jeśli nie wiesz, co oznacza ucieczka, jest to proces, w którym instruujesz komputer, aby patrzył na coś, co wydaje się być kodem, jako zwykły tekst. Na przykład zamieniłbyś tag skryptu na „<script>”.
W ten sposób przeglądarka internetowa rozumie, że należy wyświetlać symbole mniejsze niż „< i większe niż „> w określonej lokalizacji. Ale nie traktuje całego ciągu tekstowego jako kodu.
Dla użytkownika wynik jest niewidoczny.
3. Zasada najmniejszych uprawnień
Mogą wystąpić rzadkie przypadki, w których może pojawić się luka zero-day RCE. Oznacza to, że ani Ty, ani CMS i twórcy aplikacji nie są świadomi konkretnego nowego typu ataku.
Nawet w takim przypadku nadal jesteśmy w stanie ograniczyć szkody, jakie może wyrządzić osoba atakująca, ustalając kilka prostych zasad dotyczących możliwości aplikacji.
Na przykład wyobraź sobie, że projektujesz aplikację, która odczytuje z bazy danych. Naprawdę nie byłoby konieczne nadawanie nowej aplikacji możliwości lub uprawnień do usuwania lub zapisywania rekordów bazy danych.
W takim przypadku, nawet jeśli atakujący spróbują złamać zabezpieczenia skryptu, napotkają błąd i próba ich nie powiedzie się.
Zasada najmniejszych uprawnień jest również przydatna, ponieważ odnosi się do funkcji PHP.
Funkcje PHP są standardowym celem wszelkiego rodzaju napastników online. Solidne funkcje, które mogą nie być potrzebne Twojej aplikacji, takie jak ini_set() (pozwala to na aktualizację ustawień PHP z poziomu skryptu) lub exec() (które uruchamia kod przekazany jako tekst), powinny być wyłączone.
Zapobiega to wykorzystywaniu ich przez hakerów i atakujących do złośliwych celów.
Ten konkretny pomysł dotyczy zabezpieczenia publicznych obszarów Twojej witryny, a także kodu po stronie serwera.
4. Polityka bezpieczeństwa treści
Content-Security-Policy to nagłówek używany w HTTP przez większość nowoczesnych przeglądarek internetowych. Określa, jakie rodzaje treści przeglądarka ma ładować na Twojej stronie. Wysyłając nagłówki z aplikacji lub serwera internetowego, będziesz mógł określić typy skryptów, które mogą być uruchamiane, i do których lokalizacji.
Korzystanie z tej strategii pomaga zapobiegać wstrzykiwaniu złośliwych skryptów przez hakerów.
5. Zatrzymaj skrypt przed odczytywaniem plików cookie
Jeszcze inną opcją jest uniemożliwienie skryptom odczytu plików cookie. Zapobiega to wysyłaniu żądań do innych witryn.
Odbywa się to poprzez ustawienie ich z atrybutami SameSite=Strict lub HttpOnly. Nawet w scenariuszu, w którym kod hakera zostanie uruchomiony w witrynie WordPress, uniemożliwisz mu uzyskanie dostępu do plików cookie uwierzytelniania użytkownika witryny.
To znacznie zmniejszy potencjalne szkody podczas ataku polegającego na zdalnym wykonaniu kodu WordPress.
Zawijanie: zdalne wykonywanie kodu WordPress
Nie martw się, jeśli czujesz się trochę przytłoczony, gdy odkryjesz wszystkie potencjalne zagrożenia bezpieczeństwa, które wyszukują Twoją witrynę WordPress. Prawda jest taka, że zagrożeń jest wiele, ale rozwiązania mogą być proste.
Mamy nadzieję, że ten przewodnik pomógł Ci zrozumieć ryzyko ataków RCE na Twoją witrynę WordPress. Wdrażając kilka najlepszych praktyk bezpieczeństwa WordPress, wraz z 5 powyższymi krokami, uzyskasz lepszą linię obrony.
Kristen pisze samouczki, które pomagają użytkownikom WordPressa od 2011 roku. Zwykle można ją znaleźć, gdy pracuje nad nowymi artykułami na blogu iThemes lub opracowuje zasoby dla #WPprosper. Poza pracą Kristen lubi prowadzić dzienniki (napisała dwie książki!), wędrować i biwakować, gotować i codzienne przygody z rodziną, mając nadzieję na bardziej obecne życie.
