W tym wykładzie dowiemy się, jak obejść inne uwierzytelnianie, manipulując wartościami plików cookie.
Teraz nie zawsze tak się dzieje i nie zawsze jest to możliwe, ale jest to możliwe, gdy
zarządzanie sesją jest zaprogramowane w sposób, który można łatwo ominąć.
I więcej o tym porozmawiam, kiedy już przeprowadzimy atak.
Ale zanim zrobimy cokolwiek, potrzebujemy wtyczki, która pozwoli nam modyfikować nasze ciasteczka.
Pierwszą rzeczą, którą mam zamiar zrobić, to wejść do google i poszukać edytora Kuki Firefox
i mam zamiar pobrać Cookie Manager Plus wszystko, co muszą zrobić, to po prostu kliknąć na link
do Firefoksa i zainstalować i to będzie poproś o ponowne uruchomienie.
Więc zamierzam go ponownie uruchomić.
I powinien zostać zainstalowany teraz.
Teraz pliki cookie służą do uwierzytelniania użytkowników po ich zalogowaniu.
Na przykład po wejściu i logowaniu się już utworzyłem konto na ten temat.
Możesz go utworzyć klikając na rejestr tutaj i mogą one utworzyć nazwę użytkownika zayd
a hasło to 1 2 3 4 5 6.
Teraz, gdy się tutaj zaloguję, zauważysz, że za każdym razem, gdy wchodzę na inną stronę, nie
muszę się ponownie logować, więc za każdym razem, gdy przeglądam tę stronę, zobaczysz, że nie dostaję zaloguj się
ponownie i wszędzie, gdzie go odwiedzam, wie, że jestem zalogowany jako zayd.
Teraz jest to możliwe na podstawie plików cookie.
Tak więc za każdym razem, gdy odwiedzam tę stronę lub te strony, wiedzą, że Zayd próbuje się tu dostać, ponieważ
pliki cookie są przechowywane w mojej przeglądarce.
I za każdym razem, gdy proszę o coś z tej strony, ciasteczka są wysyłane na tę
stronę i wciąż reklama, którą Zayd już uwierzytelnił, a on próbuje tylko wyświetlić tę stronę.
Nawet jeśli zamknę to, zamierzam zamknąć cały dzień i wrócić do niego ponownie.
Zobaczysz, że nadal jestem zalogowany jako Zahed, żadne ciasteczka nie mają daty wygaśnięcia, a po
pewnym czasie utracą ważność.
Czasami pliki cookie są konfigurowane w taki sposób, aby można było nimi łatwo manipulować.
Zobaczmy więc ciasteczka dla tej strony.
Teraz, jeśli pójdziemy, kliknę Allt, aby wyświetlić menu tutaj i zamierzam przejść do narzędzi.
Oglaski menedżera ciasteczek i zamierzam wyszukać nazwę strony internetowej, która jest 10:22 11:46 i
która wyświetli wszystkie wysłane ciasteczka.
Widać więc, że identyfikator PH VSS i wszystkie te pliki cookie pozwalają zauważyć, że są dwa ciekawe pliki cookie, jeden z nich nazywa
się username, a drugi nazywa się user ID lub ty. RE..
To jest naprawdę interesujące i jeśli klikniemy na edytorze zobaczysz, że mamy nazwę z
ciasteczkiem, to ty. RE. lub identyfikator użytkownika i treść jest 17.
Możesz więc spróbować zgadnąć, że oznacza to, że ten plik cookie informuje tę stronę, że identyfikator użytkownika osoby, która
próbuje odwiedzić tę stronę, wynosi 17.
Możemy więc zgadnąć, że identyfikator użytkownika Zayde dla użytkownika, który właśnie utworzyłem, to 17.
Możemy więc spróbować zmodyfikować to na inną wartość i zobaczyć, co się stanie.
I często tak wielu użytkowników tworzy się najpierw na każdej stronie internetowej, abyśmy mogli spróbować osiągnąć jeden.
Więc po prostu usunę siedem i zamierzam zachować to jako jedno.
A potem będziemy zapisywać ciasteczka w ten sposób.
Zamierzam to zamknąć, a potem zamierzam odświeżyć stronę.
Teraz widzisz, że faktycznie zalogowałem się jako administrator i mogę przeglądać stronę internetową i robić wszystko,
co mogą zrobić Adnanowie.
Musimy to zrobić w prosty sposób, modyfikując nasze pliki cookie i zmieniając nasz identyfikator użytkownika na numer identyfikacyjny użytkownika.
Było to możliwe, ponieważ używane ciasteczka są bardzo proste, teraz ciasteczka powinny być bardziej skomplikowane,
więc powinny faktycznie używać tak zwanych identyfikatorów sesji lub tokenów, które powinny być bardzo skomplikowane
i niezwiązane z identyfikatorem użytkownika.
W ten sposób nie byłbym w stanie wiedzieć, co to jest identyfikator użytkownika, nawet jeśli wiem, że administrator ma identyfikator
użytkownika.
Nie byłbym w stanie wiedzieć, jaki token jest używany przez administratora.
Więc powinny być generowane dynamicznie w oparciu o każdego użytkownika i powinny się one różnić od czasu do czasu.
Tak więc, nawet dla tego samego użytkownika za każdym razem, gdy się loguje, powinien losowo
otrzymać inny token w oparciu o pewne parametry, tak aby każdy mógł wiedzieć, co zyska każdy użytkownik.
W przeciwnym razie ludzie będą mogli łatwo odgadnąć, co może admirał lub jakikolwiek inny użytkownik po
prostu wstrzyknąć do przeglądarki.
Teraz używanie skomplikowanych tokenów i identyfikatorów sesji wciąż jest podatne na ataki człowieka w środkowych atakach i widzieliśmy to
w pluginach takich jak owce przeciwpożarowe oraz w programach takich jak fretka i chomik, gdzie faktycznie wyjaśniłem,
że w moim kursie testowania penetracji sieci, gdzie można zyskać dostęp do dowolnego konta użytkownika, o ile
ludzie są w tej samej sieci co ty.
Więc nawet jeśli token jest naprawdę skomplikowany, będziesz w stanie przechwycić token, a następnie wprowadzić go do
przeglądarki.
Ale główną ideą jest to, że strona internetowa nie jest podatna na ataki, ponieważ nie możesz sam tego odgadnąć.
Musisz przechwycić token od innej osoby, a następnie wstrzyknąć, podczas gdy tutaj mogliśmy po prostu wiedzieć
lub odgadnąć, że administrator ma pomysł jednego z nich, a następnie zalogować się jako administrator.