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:

Mobilne

Kwalifikowany podpis elektroniczny w mObywatel: Nowa, bezpłatna opcja dla użytkowników prywatnych

Aplikacja mObywatel rozszerza swoje funkcjonalności o strategiczną usługę – bezpłatny kwalifikowany podpis elektroniczny. Nowe rozwiązanie, skierowane wyłącznie do użytkowników prywatnych, umożliwia podpisanie do pięciu dokumentów miesięcznie bez ponoszenia kosztów. Jest to istotna zmiana na rynku usług cyfrowych, ponieważ dotychczas zaawansowane podpisy tego typu były dostępne wyłącznie na zasadach komercyjnych.

Bezpieczeństwo

Analiza ESET: Północnokoreańska grupa Lazarus prowadzi działania szpiegowskie przeciwko europejskiemu przemysłowi obronnemu

Firma ESET, specjalizująca się w rozwiązaniach z zakresu cyberbezpieczeństwa, opublikowała wyniki badań wskazujące na kampanię szpiegowską prowadzoną przez północnokoreańską grupę Advanced Persistent Threat (APT) o kryptonimie Lazarus. Celem ataków były przedsiębiorstwa z europejskiego sektora obronnego.

Bezpieczeństwo

Pracownicy NFZ bezprawnie przeglądali dane ubezpieczonych. Fundusz zapowiada konsekwencje i zmiany w systemie

Narodowy Fundusz Zdrowia poinformował o poważnym incydencie bezpieczeństwa. Grupa pracowników NFZ, posiadająca legalny dostęp do Centralnego Wykazu Ubezpieczonych (CWU), wykorzystała swoje uprawnienia w sposób niezgodny z prawem, przeglądając dane pacjentów bez podstawy służbowej. Sprawa została zgłoszona do Prezesa Urzędu Ochrony Danych Osobowych (UODO).

Dodaj komentarz

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