![Zastrzyk w dupe](https://i.ytimg.com/vi/dSNFwC3f0qg/hqdefault.jpg)
Zawartość
- Definicja - Co oznacza wstrzyknięcie SQL?
- Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
- Techopedia wyjaśnia SQL Injection
Definicja - Co oznacza wstrzyknięcie SQL?
Wstrzyknięcie SQL to atak komputerowy, w którym złośliwy kod jest osadzany w źle zaprojektowanej aplikacji, a następnie przekazywany do bazy danych zaplecza. Złośliwe dane generują następnie wyniki zapytań do bazy danych lub działania, które nigdy nie powinny były zostać wykonane.
Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
Techopedia wyjaśnia SQL Injection
Przejdźmy przez przykład ataku iniekcyjnego SQL:
Aplikacja prowadząca operacje banku zawiera menu, które mogą być używane do wyszukiwania danych klienta za pomocą punktów danych, takich jak numer ubezpieczenia społecznego klienta. W tle aplikacja wywołuje zapytanie SQL uruchamiane w bazie danych, przekazując wprowadzone wartości wyszukiwania w następujący sposób:
WYBIERZ nazwę klienta, telefon, adres, datę urodzenia GDZIE nr_społeczności = 23425
W tym przykładowym skrypcie użytkownik wprowadza wartość 23425 w oknie menu aplikacji, prosząc go o podanie numeru ubezpieczenia społecznego. Następnie, korzystając z wartości podanej przez użytkownika, zapytanie SQL jest uruchamiane w bazie danych.
Użytkownik ze znajomością języka SQL może zrozumieć aplikację i zamiast wprowadzić jedną wartość, gdy zostanie poproszony o numer ubezpieczenia społecznego, wprowadź ciąg „23425 lub 1 = 1”, który jest przekazywany do bazy danych w następujący sposób:
WYBIERZ nazwę klienta, telefon, adres, datę urodzenia GDZIE nr_społeczności = 23425 lub 1 = 1
Klauzula WHERE jest ważna, ponieważ wprowadza podatność. W bazie danych warunek 1 = 1 jest zawsze spełniony, a ponieważ określono zapytanie w celu zwrócenia szczegółów numeru ubezpieczenia społecznego klienta (23425) lub GDZIE 1 = 1, zapytanie zwróci wszystkie wiersze w tabeli, które nie były pierwotna intencja.
Powyższy przykład ataku polegającego na wstrzyknięciu SQL jest prosty, ale pokazuje, jak wykorzystać lukę w celu oszukiwania aplikacji w celu uruchomienia zapytania lub polecenia bazy danych zaplecza.
Ataki polegające na wstrzykiwaniu SQL można ograniczyć, zapewniając odpowiedni projekt aplikacji, szczególnie w modułach wymagających danych wejściowych od użytkownika w celu uruchomienia zapytań do bazy danych lub poleceń. W powyższym przykładzie aplikację można zmienić tak, aby akceptowała tylko jedną wartość liczbową.