Posługiwać się zmienne sesji I nie od ciasteczka
Jednym z błędów popełnianych przez wielu programistów jest używanie ciasteczka, małe pliki tekstowe, które przechowują informacje o naszych zadaniach w Internecie, dostępach itp.
Czy ciasteczka można łatwo odczytać z dowolnej przeglądarki, przykład w Firefox z firebug lub in Chrom prawym przyciskiem przechodzimy do menu Sprawdź element.
Na obrazku widzimy przykład, w jaki sposób programista utworzył plik cookie do logowania użytkownika i publicznie udostępnia dane dostępowe.
Poniższy obraz to kolejny gorszy przykład Google zindeksował dostępy z użytkownikami i hasłami.
Właściwą rzeczą do zrobienia jest użycie sesji, w których dane są zakodowane.
Tak wyglądałaby zakodowana zmienna sesji, znacznie bezpieczniejsza, ponieważ jest trudna do odczytania:
phpsessid= sb85p15841p6l1dfg7oo8hlsc85;
Następnie na każdym ekranie sprawdzamy sesję na każdej otwieranej stronie, zakładamy, że będzie to obszar zastrzeżony.[rozmiar = 4] [/ rozmiar]
Sesje nie są kompletnym rozwiązaniem, ponieważ jest to inna metoda hakowania Przejęcie sesji lub Podszywanie się pod sesję. Dzieje się tak, gdy osoba atakująca odczytuje wartość sesji po zalogowaniu, a następnie próbuje uzyskać do niej dostęp z innego komputera.
Aby tego uniknąć, możemy tworzyć sesje, które zapisują dane sprzętu, na którym zalogowany jest użytkownik.
Poprzednim kodem nawiązujemy sesję, która zapisuje IP i przeglądarkę, z której uzyskano dostęp do sieci, następnie sprawdzamy, czy w czasie trwania sesji ktoś próbuje zalogować się z innego IP lub inna przeglądarka nie będzie mogła uzyskać dostępu do sieć
[rozmiar = 4] [/ rozmiar]
Coś takiego robi Facebook, jeśli uzyskujesz dostęp z innego urządzenia lub z innego adresu IP w innym mieście, ponieważ jest to oszczędność miejsca, z którego często uzyskujesz dostęp.
Testowanie przypadków XSS i SQL Injection
Jednym ze sposobów na znalezienie podatnych stron internetowych jest umieszczenie w wyszukiwarce info_page.php = lub catalogo.php =
POWIĘKSZAĆ
To da nam listę podatnych stron, każda strona, która kończy się na .php?Zmienna = może być podatna na ataki.Aby sprawdzić, czy jest podatny, wpisujemy adres URL bez wartości w przykładowej zmiennej:
mojadomena.com/info_page.php?id=
Jeśli sieć jest podatna na ataki, zareaguje błędem mysql, który powie:Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada Twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu „” w wierszu 1
Jeśli znajdziemy domenę z tą podatnością, możemy przetestować, czy znajdziemy tabelę użytkowników lub administratorów i ile ma ona kolumn:
www.mydomain / info_page.php? id = -1 + union + all + select + 1,2,3, group_concat (nazwa_użytkownika, 0x3a,
użytkownik_hasło), 5 + od + administratorzy
W takim przypadku zwróci hasło i użytkownika administratora, aby uniknąć wstrzyknięcia SQL należy użyć sesji, a nie parametrów po adresie url, w przypadku ich użycia wyczyść parametry jakąś funkcją lub klasą, która weryfikuje brak poleceń sql, lub javascript w parametrze, który jest wysyłany przez formularz lub przez adres URL.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt