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:

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.

Bezpieczeństwo

Przełomowa kwantowa technologia generowania liczb losowych z WAT: Szczegółowa analiza i perspektywy

W dzisiejszym zaawansowanym technologicznie świecie, prawdziwie losowe liczby stanowią fundament wielu kluczowych dziedzin. Od zabezpieczania komunikacji poprzez kryptografię aż po przeprowadzanie złożonych symulacji naukowych i inżynierskich , generowanie nieprzewidywalnych sekwencji danych jest niezbędne. Losowość odgrywa również istotną rolę w grach losowych , w sektorze finansowym , gdzie zapewnia unikalność transakcji, oraz w badaniach statystycznych. W kryptografii, siła klucza szyfrującego jest bezpośrednio związana z jakością i stopniem losowości użytym do jego wygenerowania . Im wyższa entropia źródła losowego, tym trudniejszy do złamania staje się klucz. Prawdziwa losowość jest zatem kluczowym elementem zapewniającym bezpieczeństwo w cyberprzestrzeni, wzmacniając algorytmy szyfrujące i chroniąc integralność przesyłanych oraz przechowywanych danych . Zapotrzebowanie na generatory liczb losowych o wysokiej jakości i nieprzewidywalności stale rośnie, co jest bezpośrednio powiązane z postępem technologicznym i coraz większym znaczeniem bezpieczeństwa informacji. Wraz z dynamicznym przenoszeniem coraz większej liczby aspektów naszego życia do sfery cyfrowej, ilość generowanych i przesyłanych danych nieustannie wzrasta. Ochrona tych danych przed nieautoryzowanym dostępem i manipulacją staje się priorytetem, a prawdziwa losowość jest nieodzownym narzędziem do skutecznego szyfrowania i zabezpieczania przed różnego rodzaju atakami.

Bezpieczeństwo

Prawdopodobnie DeepSeek Zna Twoje Sekrety: Analiza Bezpieczeństwa Danych Treningowych LLM

Prawdopodobnie DeepSeek zna Wasze sekrety oraz klucze API! Takie ostrzeżenie pojawiło się na łamach Sekurak.pl. W dynamicznie rozwijającym się świecie dużych modeli językowych (LLM), gdzie innowacje pojawiają się niemal codziennie, DeepSeek AI szybko zyskał miano znaczącego gracza, budząc zainteresowanie swoimi możliwościami i efektywnością. Jednakże, wraz z postępem technologicznym, pojawiają się również nowe wyzwania w obszarze bezpieczeństwa. Niedawne odkrycie dokonane przez badaczy z Truffle Security rzuca nowe światło na potencjalne zagrożenia związane z danymi treningowymi tych zaawansowanych modeli. Wnikliwa analiza publicznie dostępnego zbioru danych Common Crawl, wykorzystywanego do trenowania LLM, w tym DeepSeek, ujawniła obecność licznych, potencjalnie wciąż aktywnych kluczy API i haseł.

Dodaj komentarz

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