Spisie treści
Istnieje wiele rodzajów ataków, które możemy otrzymać w naszych aplikacjach, jednym z najczęstszych i który może generować duże szkody jest atak Wstrzyknięcie SQLAtak ten polega na znalezieniu luk w sposobie obsługi zapytań do baz danych w celu wydobycia informacji lub wstawienia wartości, które mogą wpłynąć na jego funkcjonalność.Aby uchronić się przed tego typu atakiem, musimy najpierw wiedzieć, na czym on polega, w ten sposób możemy dowiedzieć się, jakie środki ostrożności musimy podjąć.
Jak wspomnieliśmy, ten atak sprawia, że nasza baza danych nie działa poprawnie, w tym celu atakujący wprowadza dane, które powodują, że nasze zapytania zawodzą zgodnie z określonymi podatnościami, dzięki czemu atakujący może spróbować zdobądź schematy naszych tabel lub wprowadzić dane, które mogą zagrozić operacji, takie jak: wprowadź użytkownika, aby uzyskać dostęp do sekcji administracyjnej naszej aplikacji.
Jednym z najczęstszych sposobów jest to, że wprowadzamy parametry bezpośrednio tak, jak otrzymujemy je od kontrolerów, np. mamy wyszukiwanie po kategoriach i otrzymujemy od kontrolera identyfikator kategorii do przeszukania, jeśli przechodzi bezpośrednio bez czyszczenia może wygenerować atak, który pokaże atakującemu wszystkie istniejące kategorie.
Spójrzmy na następujący niezabezpieczony kod:
POWIĘKSZAĆ
Jak się chronić?Sposób na zabezpieczenie się w tym przypadku składa się z dwóch podstawowych kroków, pierwszy jest to, że nie możemy pozwolić na wykonanie danych bezpośrednio tak, jak je otrzymujemy, w tym celu przed zapytaniem musimy wyczyścić parametr metodą wyszukującą niedozwolone znaki i w przypadku ich znalezienia wysłać użytkownika na stronę 404 lub Strona nie znaleziona.
Zobaczmy w poniższym kodzie, jak możemy filtrować to, co otrzymujemy:
ten druga krokiem do uniknięcia ataków jest nie działa z symbolem wieloznacznym „*” i zawsze ograniczaj zapytania, gdy czekamy na rekord, w ten sposób unikamy ujawniania wszystkich danych w przypadku, gdy ktoś zdoła przekroczyć nasze prognozy.
Łap wyjątkiWreszcie, jeśli do naszej aplikacji dostanie się niedozwolony parametr, musimy za wszelką cenę uniknąć pojawienia się śladu błędu, ponieważ zawiera on poufne dane z naszej instalacji i może zostać użyty przeciwko nam, dlatego zawsze musimy upewnić się, że przechwyciliśmy wyjątki i wyślij spersonalizowaną wiadomość, która nie zawiera wielu szczegółów, ponieważ te szczegóły można zobaczyć w środowisku programistycznym.
Jak widzieliśmy, znajomość ataków daje nam inną perspektywę tego, w jaki sposób możemy chronić naszą aplikację i jak to zrobić, aby zapewnić naszym użytkownikom większe bezpieczeństwo.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt