Jak zapobiegać iniekcji SQL? (Kompletny przewodnik 2020) - MalCare

Opublikowany: 2023-04-19

Obawiasz się ataków typu SQL injection na Twoją stronę internetową? Jeśli to czytasz, być może znasz już konsekwencje ataku. W tym poście poznasz proste sposoby zapobiegania iniekcji SQL .

Zastrzyki SQL mogą umożliwić hakerowi przejęcie Twojej witryny WordPress i kontrolę nad nią. Stamtąd mogą przekierowywać ruch, kraść poufne dane, wstrzykiwać linki spamowe, manipulować wynikami wyszukiwania za pomocą japońskich znaków i wyświetlać reklamy nielegalnych produktów. Ten rodzaj ataku może spowodować nieodwracalne szkody w Twojej witrynie i firmie.

Na szczęście wstrzykiwaniu SQL można zapobiec, jeśli zastosujesz odpowiednie środki bezpieczeństwa. W tym przewodniku omówimy iniekcje SQL i dogłębnie omówimy skuteczne środki zapobiegające im i chroniące witrynę WordPress.

TL;DR: Możesz zapobiec wstrzykiwaniu kodu SQL do swojej witryny WordPress za pomocą niezawodnej wtyczki bezpieczeństwa. Zainstaluj MalCare, a wtyczka automatycznie przeskanuje i ochroni Twoją witrynę przed takimi atakami.

[lwptoc skipHeadingLevel=”h1,h3,h4,h5,h6″ skipHeadingText=”Ostateczne przemyślenia”]

Czym są ataki SQL Injection?

Wszystkie witryny WordPress mają zwykle obszary wprowadzania, które umożliwiają odwiedzającemu wprowadzanie informacji. Może to być pasek wyszukiwania witryny, formularz kontaktowy lub formularz logowania .

W formularzu kontaktowym odwiedzający wpisze swoje dane, takie jak imię i nazwisko, numer telefonu i adres e-mail, i prześle je do Twojej witryny.

formularz kontaktowy podatny na atak sql injection

Dane te są przesyłane do bazy danych MySQL Twojej witryny. Tutaj jest przetwarzany i przechowywany.

Teraz te pola wejściowe wymagają odpowiedniej konfiguracji, aby upewnić się, że dane zostaną zweryfikowane i oczyszczone, zanim trafią do bazy danych. Na przykład luka w zabezpieczeniach formularza kontaktowego polega na tym, że powinien akceptować tylko litery i cyfry. Idealnie nie powinien akceptować symboli. Teraz, jeśli Twoja witryna akceptuje jakiekolwiek dane za pośrednictwem tego formularza, haker może to wykorzystać i wstawić złośliwe zapytanie SQL, takie jak:

 txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work? txtUserId = getRequestString("UserId"); txtSQL = "SELECT * FROM Users WHERE Userwp-block-heading"> How Does An SQL Attack Work?

Hakerzy atakują strony internetowe, które mają słabe zabezpieczenia lub luki w zabezpieczeniach, które ułatwiają im włamanie. Z naszego doświadczenia wynika, że ​​wtyczki i motywy często mają luki w zabezpieczeniach, a hakerzy są tego świadomi. Nieustannie grasują w Internecie w poszukiwaniu witryn korzystających z podatnych na ataki wtyczek i motywów.

Aby to wyjaśnić, użyjemy przykładowego scenariusza. Załóżmy, że pan A używa wtyczki „Formularz kontaktowy” do obsługi formularza na stronie kontaktowej swojej witryny. Załóżmy, że w tej wtyczce w wersji 2.4 wykryto lukę umożliwiającą wstrzyknięcie SQL, a programiści ją naprawili i wydali zaktualizowaną wersję 2.4.1.

Po wydaniu programiści ujawniają przyczynę aktualizacji, upubliczniając lukę w zabezpieczeniach. Oznacza to, że hakerzy wiedzą, że w wersji 2.4 wtyczki Formularz kontaktowy występuje luka w zabezpieczeniach.

Teraz Mr.X opóźnia instalację aktualizacji o kilka tygodni, ponieważ po prostu nie ma czasu na jej uruchomienie. Tutaj dzieje się źle.

Gdy hakerzy dowiadują się o lukach w zabezpieczeniach, uruchamiają programy lub używają skanerów luk w zabezpieczeniach, które będą przeszukiwać Internet i znajdować strony internetowe korzystające z określonej wersji wtyczki/motywu.

W takim przypadku będą szukać witryn internetowych za pomocą formularza kontaktowego 2.4. Po znalezieniu witryny poznają dokładną lukę w zabezpieczeniach sieci, co znacznie ułatwi im włamanie. W takim przypadku wykorzystają lukę SQL injection i włamią się do Twojej witryny.

Rodzaje iniekcji SQL

Hakerzy stosują dwa rodzaje wstrzyknięć SQL:

1. Klasyczna iniekcja SQL – Kiedy odwiedzasz stronę internetową, Twoja przeglądarka (np. Chrome lub Mozilla) wysyła żądanie HTTP do serwera witryny w celu wyświetlenia treści. Serwer WWW pobiera zawartość z bazy danych witryny i odsyła ją z powrotem do przeglądarki. W ten sposób możesz zobaczyć interfejs strony internetowej.

Teraz baza danych Twojej witryny zawiera wszelkiego rodzaju dane, w tym dane poufne, takie jak dane klientów, informacje o płatnościach oraz nazwy użytkowników i hasła. Twoja baza danych powinna być skonfigurowana do udostępniania tylko danych frontonu. Wszystkie inne poufne dane powinny być chronione. Ale jeśli te kontrole bezpieczeństwa aplikacji nie są stosowane, hakerzy korzystają.

W klasycznym ataku typu SQL injection hakerzy wysyłają złośliwe żądania do Twojej bazy danych, pobierając dane do swojej przeglądarki. Ale używają ciągów zapytań do żądania informacji poufnych, takich jak dane logowania do Twojej witryny. Jeśli nie chronisz tych informacji, zostaną one wysłane do hakera. W ten sposób mogą zdobyć twoje dane logowania i włamać się na twoją stronę. Atakujący mogą również wykorzystywać przygotowane instrukcje jako sposób na wielokrotne wykonywanie tych samych lub podobnych instrukcji bazy danych z dużą wydajnością.

2. Ślepa iniekcja SQL – W tym przypadku haker wstrzykuje złośliwe skrypty za pośrednictwem pól wejściowych w Twojej witrynie. Po zapisaniu ich w bazie danych wykonują je, aby wyrządzić różnego rodzaju szkody, takie jak zmiana zawartości witryny lub nawet usunięcie całej bazy danych. W takim przypadku mogą również użyć złośliwych skryptów, aby uzyskać uprawnienia administratora.

Oba scenariusze mogą mieć druzgocący wpływ na Twoją witrynę i firmę. Na szczęście możesz zapobiec takim atakom, podejmując odpowiednie środki bezpieczeństwa i sprawdzania poprawności danych wejściowych w swojej witrynie.

Kroki zapobiegające atakom SQL Injection

Aby zapobiec atakom SQL injection, musisz przeprowadzić ocenę bezpieczeństwa swojej witryny. Oto dwa rodzaje środków, które możesz podjąć, aby zapobiec atakom SQL — niektóre są proste, a inne złożone i techniczne.

Łatwe środki zapobiegawcze

  1. Zainstaluj wtyczkę zabezpieczającą
  2. Używaj tylko zaufanych motywów i wtyczek
  3. Usuń wszelkie pirackie oprogramowanie ze swojej witryny
  4. Usuń nieaktywne motywy i wtyczki
  5. Regularnie aktualizuj swoją witrynę

Techniczne środki zapobiegawcze

  1. Zmień domyślną nazwę bazy danych
  2. Wpisy pól kontrolnych i przesyłanie danych
  3. Wzmocnij swoją witrynę WordPress

Zacznijmy.

Łatwe środki zapobiegawcze przeciwko atakom SQL Injection

1. Zainstaluj wtyczkę zabezpieczającą

Aktywacja wtyczki zabezpieczającej witrynę to pierwszy krok, który należy wykonać, aby chronić swoją witrynę. Wtyczki bezpieczeństwa WordPress będą monitorować Twoją witrynę i zapobiegać włamaniom hakerów.

Istnieje wiele wtyczek do wyboru, ale w oparciu o to, co ma do zaoferowania, wybieramy MalCare. Wtyczka automatycznie utworzy zaporę aplikacji internetowej, aby chronić Twoją witrynę przed atakami. Próby włamań są identyfikowane i blokowane.

Następnie skaner bezpieczeństwa wtyczki będzie dokładnie skanował Twoją witrynę każdego dnia. Jeśli w Twojej witrynie pojawi się podejrzane zachowanie lub złośliwa aktywność, natychmiast otrzymasz powiadomienie. Możesz podjąć działania i natychmiast naprawić swoją witrynę za pomocą MalCare, zanim Google będzie miał szansę umieścić ją na czarnej liście lub dostawca usług hostingowych zdecyduje o zawieszeniu Twojej witryny.

2. Regularnie aktualizuj swoją witrynę

Jak wspomnieliśmy w naszym przykładzie z iniekcją SQL, gdy programiści znajdują luki w zabezpieczeniach w swoim oprogramowaniu, naprawiają je i wypuszczają nową wersję zawierającą poprawkę bezpieczeństwa. Musisz zaktualizować do nowej wersji, aby usunąć lukę ze swojej witryny.

Aktualizacja rdzenia wordpress

Sugerujemy poświęcenie czasu raz w tygodniu na aktualizację podstawowej instalacji WordPress, motywów i wtyczek.

Jeśli jednak zobaczysz, że została wydana aktualizacja zabezpieczeń, zainstaluj ją natychmiast.

3. Używaj tylko zaufanych motywów i wtyczek

WordPress jest najpopularniejszą platformą do tworzenia stron internetowych, a to częściowo dzięki wtyczkom i motywom, które sprawiają, że jest to łatwe i niedrogie. Ale wśród mnóstwa dostępnych motywów i wtyczek musisz ostrożnie wybierać. Sprawdź szczegóły wtyczki, takie jak liczba aktywnych instalacji, data ostatniej aktualizacji i wersja, w której była testowana.

szczegóły wtyczki

Zalecamy pobranie ich z repozytorium WordPress. W przypadku innych motywów i wtyczek należy przeprowadzić odpowiednie badania, aby sprawdzić, czy można im zaufać. Dzieje się tak, ponieważ niektóre motywy i wtyczki innych firm mogą być złośliwie tworzone przez hakerów. Może być również po prostu źle zakodowany, co otwiera go na luki w zabezpieczeniach.

4. Usuń wszelkie pirackie oprogramowanie ze swojej witryny

Pirackie lub zerowane motywy i wtyczki są kuszące. Zapewnia bezpłatny dostęp do funkcji premium. Ale niestety zazwyczaj są one dostarczane z fabrycznie załadowanym złośliwym oprogramowaniem. Pirackie oprogramowanie to łatwy sposób dla hakerów na dystrybucję złośliwego oprogramowania.

Po zainstalowaniu złośliwe oprogramowanie zostaje aktywowane i infekuje Twoją witrynę. Najlepiej trzymać się z daleka od takiego oprogramowania.

5. Usuń nieaktywne motywy i wtyczki

Często zdarza się, że instalujesz wtyczkę i całkowicie o niej zapominasz na lata. Ale ten nawyk może narazić Twoją witrynę na ataki hakerów. Im więcej wtyczek i motywów masz zainstalowanych na swojej stronie, tym większe prawdopodobieństwo pojawienia się luk w zabezpieczeniach i wykorzystania ich przez hakerów.

Sugerujemy zachowanie tylko tych wtyczek i motywów, których używasz. Usuń resztę i zwiększ bezpieczeństwo swojej witryny. Regularnie skanuj także istniejące motywy i wtyczki.

Techniczne środki zapobiegawcze

Te środki mogą wymagać nieco większej wiedzy na temat wewnętrznego działania WordPressa. Jednak w dzisiejszych czasach istnieje wtyczka do wszystkiego. Nie musisz się więc martwić o złożoność związaną z wdrażaniem tych środków. Ułatwiamy to!

1. Zmień domyślną nazwę tabeli bazy danych

Twoja witryna WordPress składa się z plików i bazy danych. W Twojej bazie danych domyślnie znajduje się 11 tabel. Każda tabela zawiera różne dane i konfiguracje. Nazwy tych tabel mają przedrostek „wp_”. Tak więc nazwami tabel mogą być wp_options, wp_users, wp_meta. Łapiesz dryf.

zmień domyślne nazwy tabel bazy danych, aby zapobiec wstrzykiwaniu sql

Te nazwy są takie same we wszystkich witrynach WordPress i hakerzy o tym wiedzą. Hakerzy wiedzą, która tabela przechowuje jakie dane. Kiedy hakerzy wstawiają złośliwe skrypty w Twojej witrynie, wiedzą, gdzie skrypt będzie przechowywany. Za pomocą prostej metody mogą wykonywać polecenia SQL w celu uruchamiania złośliwych działań.

Ale jeśli zmienisz nazwę tabeli, może to zniechęcić hakerów do znalezienia miejsca, w którym znajdują się skrypty. Kiedy więc hakerzy spróbują wstrzyknąć kody SQL do tabel bazy danych, nie będą w stanie odgadnąć nazwy tabeli.

Możesz to zrobić za pomocą wtyczki, takiej jak Change Table Prefix lub Brozzme. Po prostu zainstaluj jeden z nich na swojej stronie i postępuj zgodnie z instrukcjami.

Możesz to również zrobić ręcznie, edytując plik wp-config. Słowo ostrzeżenia – drobny błąd w tym miejscu może prowadzić do błędów w bazie danych i nieprawidłowego działania strony. Zrób kopię zapasową, zanim przejdziesz dalej.

  • Przejdź do swojego konta hostingowego > cPanel > Menedżer plików.
  • Tutaj uzyskaj dostęp do folderu public_html i kliknij prawym przyciskiem myszy plik wp-config.
  • Wybierz Edytuj i znajdź następujący kod
    “$table_prefix = 'wp_';”
  • Zamień to na –
    „$table_prefix = 'test_';”

Możesz wybrać dowolny przedrostek. Tutaj wybraliśmy „test_” jako nową nazwę bazy danych. Po zakończeniu hakerzy nie będą mogli zlokalizować swoich poleceń SQL.

2. Wpisy w polach kontrolnych i przesyłanie danych

Możesz skonfigurować wszystkie pola wprowadzania w swojej witrynie, aby akceptowały tylko określone typy danych. Na przykład pole nazwy powinno zezwalać tylko na wpisy alfabetyczne (litery), ponieważ nie ma powodu, dla którego miałyby być tu wprowadzane znaki numeryczne. Podobnie pole numeru kontaktowego powinno zawierać wyłącznie cyfry.

Możesz użyć funkcji sanitize_text_field(), która oczyszcza dane wprowadzone przez użytkownika. Ta weryfikacja danych wejściowych gwarantuje, że wpisy, które nie są poprawne lub po prostu niebezpieczne, mogą zostać zablokowane.

3. Wzmocnij swoją witrynę WordPress

Jest to jeden z najważniejszych kroków, jakie możesz podjąć, aby chronić swoją witrynę WordPress przed atakami typu SQL injection. Co to jest hartowanie strony?

Witryna WordPress oferuje wiele funkcji, które pomogą Ci w prowadzeniu witryny. Jednak większość ludzi nie korzysta z wielu z tych funkcji. WordPress.org zaleca wyłączenie lub usunięcie niektórych z nich, jeśli ich nie używasz. Zmniejszy to szanse na ataki, ponieważ hakerzy mają mniej elementów do wypróbowania!

Niektóre środki wzmacniające WordPress to:

  1. Wyłączanie edytora plików
  2. Wyłączanie instalacji wtyczek lub motywów
  3. Implementacja uwierzytelniania dwuskładnikowego
  4. Ograniczenie prób logowania
  5. Zmiana kluczy bezpieczeństwa i soli WordPress
  6. Blokowanie wykonywania PHP w nieznanych folderach

Aby wdrożyć te środki, możesz użyć wtyczki, takiej jak MalCare, która pozwala to zrobić za pomocą kilku kliknięć.

stwardnienie malcare

Możesz też wdrożyć go ręcznie, postępując zgodnie z naszym Przewodnikiem dotyczącym utwardzania WordPress.

To prowadzi nas do końca zapobiegania atakom typu SQL injection. Jeśli wdrożyłeś środki omówione w tej ściągawce dotyczącej iniekcji SQL, Twoja witryna będzie bezpieczna

[ss_click_to_tweet tweet=”Atakom typu SQL injection można zapobiec! Skorzystaj z tego przewodnika, aby wdrożyć odpowiednie środki bezpieczeństwa w swojej witrynie WordPress”. treść=”” styl=”domyślnie”]

Końcowe przemyślenia

Zapobieganie naprawdę jest lepsze niż leczenie. Ataki typu SQL injection mogą powodować niepotrzebny stres i poważne obciążenie finansowe.

Większość środków, o których dzisiaj mówiliśmy, można łatwo wdrożyć za pomocą wtyczek. Więc nie musisz się martwić, jeśli nie jesteś obeznany z technologią! Nadal możesz się chronić!

Wraz z wdrożeniem tych środków zdecydowanie zalecamy aktywację MalCare na swojej stronie. Jego zapora ogniowa będzie aktywnie bronić Twojej witryny przed atakami. Codziennie skanuje Twoją witrynę, aby sprawdzić, czy nie ma na niej prób włamań i złośliwego oprogramowania.

Możesz o tym myśleć jako o strażniku swojej witryny, który monitoruje Twoją witrynę i powstrzymuje złoczyńców. Możesz być spokojny, wiedząc, że Twoja witryna jest chroniona.

Zapobiegaj atakom hakerów dzięki naszej wtyczce MalCare Security!