SQL Injection. Banalny atak, który uświadamia, jak niebezpieczne są rozmowy o poufnych dla nas treściach na portalach typu Facebook.

Injection na język polski możemy tłumaczyć jako wstrzyknięcie.

Ten rodzaj błędów ma miejsce jeżeli nie traktujemy danych od użytkownika jako potencjalnie niebezpiecznych i ich odpowiednio nie filtrujemy. To nie powinno być dla Ciebie nic nowego. Pamiętasz nasz pierwszy odcinek o zdalnym wykonaniu kodu? Tam poprzez nieuwagę programisty mogliśmy wykonać dowolny kod na serwerze. Tutaj natomiast możemy doprowadzić do zwrócenia innych rekordów z bazy danych – względem tego jak serwis zaprojektował programista.

Injection to pierwszy z punktów na liście OWASP Top 10 – czyli zbioru 10 najpopularniejszych błędów w zabezpieczeniach aplikacji internetowych. Jak się do tego wszystkiego zabrać?

SQL

Aby móc wysyłać do serwera żądania, które doprowadzą do zwrócenia innych danych z bazy niż normalnie – najpierw musimy poznać język SQL. Istnieje kilka popularnych silników bazodanowych:

Każda baza używa nieco innej składni. W większości przypadków jednak podstawowe zapytania są bardzo podobne. Dlatego też na początek proponuje zapoznać się ze składnią SQLite. Dlaczego? Ponieważ jest najprostsza do zrozumienia. 

Na początek wystarczy:

Wprowadzenie do języka SQL znajdziesz także w moim dwugodzinnym filmie na temat SQL Injection. Jeżeli wolisz czytać – zobacz ten materiał Sekuraka.

Praktyka

Wiedzę przetestujesz w Web Security Academy.

Więcej zadań znajdziesz na:

Warto również pomyśleć o automatyzacji. Tutaj niekwestionowanym liderem jest narzędzie sqlmap. Więcej informacji znajdziesz na tej stronie wiki.

HackTricks zawiera różne techniki ataku zebrane w jednym miejscu.

Zapoznaj się też z prawdopodobnymi skutkami ataków SQL Injection.

Zaawansowane tematy

Pora na poznanie bardziej skomplikowanych technik:

Warto też wiedzieć jak chronić się przed tego rodzaju podatnościami. W głównej mierze wystarczy korzystać z mechanizmu prepared statement.

NoSQL injection

Oprócz baz SQL istnieją także bazy NoSQL, które pozwalają na przechowywanie i wyszukiwanie danych modelowanych w inny sposób niż relacje tabelaryczne. Brzmi to mądrze i skomplikowanie ale w rzeczywistości takie nie jest. Tutaj poczytasz o różnicach pomiędzy tymi dwoma rodzajami baz. Nas w głównej mierze będzie interesowała baza MongoDB.

Więcej informacji znajdziesz na:

Możesz także spróbować OWASP NodeGoat. Znajdziesz tam jednak nie tylko ćwiczenia z SQL Injection ale także XSS czy CSRF. Nie martw się jeżeli nie będziesz potrafił/potrafiła wykonać ich wszystkich. Tutaj znajdziesz podpowiedzi i rozwiązania.

Inne rodzaje wstrzyknięć

Oprócz SQL Injection istnieją także inne rodzaje wstrzyknięć. Chciażby:

W ramach zadania domowego spróbuj znaleźć inne rodzaje. Ile ich jest? 🙂

Podziel się postem:

Najnowsze:

Bezpieczeństwo

Łańcuch Eksploatacji w Linux: Jak Dwa Błędy w PAM i udisks Prowadzą do Pełnego Przejęcia Systemu (CVE-2025-6018 & CVE-2025-6019)

W cyfrowym świecie bezpieczeństwa, eskalacja uprawnień (privilege escalation) jest jednym z najpoważniejszych zagrożeń. Umożliwia atakującemu, który posiada jedynie podstawowe konto użytkownika, zdobycie pełnej kontroli administracyjnej (root) nad systemem. Niedawne odkrycie przez Qualys Threat Research Unit stanowi podręcznikowy przykład tego, jak dwie pozornie odizolowane podatności mogą zostać połączone w niszczycielski łańcuch ataku.

Bezpieczeństwo

Oprogramowanie Open Source w służbie wojskowej: Jak drony z ArduPilot zmieniają oblicze wojny na Ukrainie

W dzisiejszych czasach, gdy technologia odgrywa kluczową rolę na każdym polu, od medycyny po rozrywkę, nie jest zaskoczeniem, że jej wpływ jest coraz bardziej widoczny również w dziedzinie wojskowości. Jednak to, co może być zaskakujące, to fakt, że oprogramowanie open-source, tworzone przez społeczność entuzjastów i programistów z całego świata, staje się potężnym narzędziem w rękach armii. Niedawny, zmasowany atak dronów przeprowadzony przez Ukrainę na rosyjskie bazy lotnicze, jest tego najlepszym przykładem i dowodem na to, jak technologie o otwartym kodzie źródłowym rewolucjonizują współczesne pole walki.

Oprogramowanie

Unia Europejska przejdzie na Linuxa? Powstaje dystrybucja EU OS

Unia Europejska może wkrótce podjąć kroki w kierunku uniezależnienia się od amerykańskiego oprogramowania. Społeczność entuzjastów pod patronatem władz UE pracuje nad projektem EU OS, który ma zastąpić system operacyjny Windows w instytucjach rządowych. Wybór padł na modyfikację dystrybucji Fedora Linux, która zostanie dostosowana do potrzeb urzędników poprzez interfejs przypominający Windows.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *