LH.pl · Dział pomocy
Zapewne znane Ci jest powiedzenie, że czasami proste metody bywają najskuteczniejsze. Ma ono sprawdzenie także w branży IT. Cyberprzestępcy codziennie pracują nad metodami, które pozwolą im na wyłudzenie danych. Jednym z prostszych i bardzo skutecznych ataków cyberprzestępcach jest SQL Injection. W tym artykule postaram się odpowiedzieć na pytanie, co to jest SQL Injection i jakie są jego konsekwencje.
Tematy związane z bezpieczeństwem strony internetowej oraz użytkowników, którzy z niej korzystają stanowi w ostatnich czasach priorytet. Niestety nie wszyscy zdają sobie sprawę z tego, jak duże ryzyko niesie ze sobą chwila nieuwagi. Cyberprzestępcy są bardzo czujni i doskonale potrafią wykorzystać okazję.
Czym jest SQL injection?
Terminem SQL Injection nazywamy pewnego rodzaju atak hakerski na stronę internetową/aplikację, który ma na celu wykorzystanie luki w jej zabezpieczeniach. Przejawia się zmianą treści zapytania, które zostaje wysyłane do bazy danych. W zależności od tego, jakie jest to zapytanie, cyberprzestępca może m.in. uzyskać nieautoryzowany dostęp do Twojej strony internetowej. Ma również możliwość odczytania, usunięcia, edycji, jak również wykonania kodu na bazie danych co może spowodować ogromne szkody. SQL Injection nie bez powodu został wymieniony w dokumencie OWASP Top Ten i znajduje się w pierwszej dziesiątce błędów.
W zależności od sytuacji SQL Injection niesie za sobą następujące konsekwencje:
- nieautoryzowany dostęp do całej bazy danych (zarówno w trybie odczytu, jak i zapisu)
- omija jakikolwiek mechanizm uwierzytelnienia
- pozwala na wykonanie kodu
- umożliwia stworzenie plików w systemie operacyjnym, na którym działa baza
- pozwala na odczytanie wybranych plików w systemie operacyjnym, na którym działa baza
Konsekwencje takiego ataku mogą być przeróżne, to haker decyduje o tym, jak daleko się posunie. W najgorszym przypadku Twoja baza danych zostanie całkowicie wyczyszczona, co w konsekwencji spowoduje, że strona www nie będzie się wyświetlać. Działania cyberprzestępcy mogą także obejmować wstrzyknięcie malware, czyli złośliwego oprogramowania. Pozwoli to na stworzenie spamerskich treści, zmiany linków, czy też ustawienia przekierowań na niepożądane strony. Zasypanie strony www spamerskimi treściami może spowodować, że Google doda ją na czarną listę, przez co przestanie być wyświetlana w internecie. Dodatkowo haker, który ma dostęp do kont użytkowników, ma możliwość zmiany ich uprawnień, jak również nadania najwyższego poziomu uprawnień, czyli administratora bezpośrednio dla siebie.
Jak się uchronić przed atakiem?
Ataki typu SQL Injection może zostać odpowiednio wykryty, jak również zablokowany w aplikacji i sieci. Polega to przede wszystkim na wykorzystaniu białej i czarnej listy, odpowiedniego filtrowania, zmiany zapytań, jak również usunięciu zbędnych plików. Są to jednak głównie środki, mające na celu zwiększenie bezpieczeństwa.
Duże znaczenie odgrywa tutaj stworzenie odpowiednich interfejsów dostępu do danych. Wszelkie dane, które pochodzą spoza aplikacji, należy odpowiednio filtrować. Bardzo dużą dolę odgrywa wyszukiwanie słów kluczy, co uniemożliwiłoby umieszczenie kolejno po sobie znaków specjalnych np. podwójny myślnik, apostrof itp. W samej aplikacji należy unikać natomiast przechowywania jakichkolwiek zbędnych plików. Bardzo często podczas prac nad stroną zapominamy, że zachowany został wcześniejszy plik (przed edycją). Kolejny ważnym aspektem jest dokładna weryfikacja uprawnień i dostępu do wewnętrznych struktur baz danych.
Podsumowanie
Teraz wiedząc co to jest SQL injection wiesz, jak duże niebezpieczeństwo się z nim wiąże. Pamiętaj o stosowaniu dobrych praktyk oraz racjonalnego podejścia do zarządzania aplikacją. Współcześnie duże znaczenie ma dbanie o bezpieczeństwo samej aplikacji, jak również użytkowników. Czasami wystarczy chwila nieuwagi, aby utracić cenne dane np. karty kredytowej. Zwiększ swoje bezpieczeństwo, korzystając z serii naszych artykułów i poradników.
Przeczytaj także:
- Jak zmienić hasło do bazy danych MySQL w LH.pl?
- Co to jest phpMyAdmin i do czego służy?
- Jak utworzyć dostęp zdalny do bazy danych w LH.pl
- Jak dodać tabelę w bazie danych MySQL?
- Struktura katalogów na serwerze – jak odnaleźć się w gąszczu plików?
- Zasady bezpieczeństwa w Internecie od podstaw
- Jak bezpiecznie przechowywać hasła?