Zastrzyk SQL

Autor: Peter Berry
Data Utworzenia: 13 Sierpień 2021
Data Aktualizacji: 22 Czerwiec 2024
Anonim
Zastrzyk w dupe
Wideo: Zastrzyk w dupe

Zawartość

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ą.