Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zabezpieczenie przed przechwytem sesji
Forum PHP.pl > Forum > Przedszkole
gazelek
Tak sobie ostatnio rozmyslalem nad mechanizmem zabezpieczania przechwycenia sesji... oprocz sprawdzania sesid zapisanego w ciastku wypada zrobic cos jeszcze, np. sprawdzenie ip, z ktorego sesja zostala utworzona. Problem jest taki, ze po dodaniu sprawdzania ip uzytkownik neostrady co 24h bedzie sie musial logowac na nowo. Sprawdzanie przegladarki jest bezsensowne wiec wymyslilem - sprawdzanie adresu MAC smile.gif tyle, ze w tablicy $_SERVER nie ma zmiennej opisujacej adres MAC urzadzenia wywolujacego skrypt. Dwa pytania - jest to wogole mozliwe? A jesli nie, to w jaki sposob Wy zabezpieczacie sie przed kradzieza sesji?
zakręcony
session_regenerate_id(true);
Piotr_BB
Dolacze sie.

Znaczy to, ze w kazdym pliku, przy kazdym wywolaniu chcac sie przed tym zabiezpieczyc musze wygenerowac nowy id?
gazelek
@zakrecony: dzieki.

@hateman: w moim przypadku to nic nie wnosi. Zabezpiecza jedynie przed spreparowaniem identyfikatora sesji. Jesli jednak id sesji zostalo przechwycone w inny sposob? Zabezpieczenie z drugiej czesci artykulu - sprawdzanie ip i przegladarki odpada ze wzgledow podanych w pierwszym poscie.
gox
sprawdzanie przegladarki bezsensowne? IMO bardziej sensowne niz IP, jak w przytoczonym przez Ciebie przykladzie z Neostrada.

Jednak agresor moze w dosc prosty sposob kilkoma probami odgadnac przegladarke.. chyba ze przy takiej probie nastapi trwala blokada np. jego adresu IP...
Tylko ze wtedy zdarzyc sie moze zbanowanie niewinnego usera, np. kiedy przegaldarka sie zupdatuje a nie wyczysci cookisow podczas tego procesu.. trzeba sprawdzic czy populrne browsy tak sie zachowuja bo strzelam.
Wykradzenie sesji wymaga wstawienia kodu JS na twoim serwisie, jesli jestes pewien ze jest to niewykonalne, to mozna spac spokojnie.

Osobiscie uzywam obu chwytow czyli Przegladarka + IP + oczywicie serwis odporny na XSS

pozdro.
bełdzio
generalnie to zabezpieczenie sie przed XSS + trzymanie SIDa w ciachu i będzie ok

http://www.beldzio.com/bezpieczenstwo-mechanizmu-sesji.freez
gazelek
Cytat(gox @ 2.10.2008, 14:25:00 ) *
sprawdzanie przegladarki bezsensowne? IMO bardziej sensowne niz IP, jak w przytoczonym przez Ciebie przykladzie z Neostrada.


Oj zle sie wyrazilem, sprawdzanie przegladarki na pewno jest bardziej sensowne niz sprawdzanie ip, ale jest to zabezpieczenie niezbyt trudne do zlamania.

Tutaj mala ciekawostka - byc moze to troche sztuka dla sztuki, ale zrobilem wlasny system sesji, szczegolow technicznych nie bede podawal, ale mechanizm jest podobny, sessid jest trzymany w ciachach. Napisanie dodatkowej funkcji zabezpieczajacej nie jest problemem, ale trzeba miec pomysl na takie zabezpieczenie. Sprawa adresu MAC wydawala sie dosc sensowna - ale rozumiem, ze z poziomu php nie ma mozliwosci dostepu do mac-a klienta wysylajacego zadanie. Dziekuje bardzo za pomoc i pozdrawiam!
bełdzio
a sam generujesz sessid ? bo jesli tak to upewnij sie ze na podstawie kilku przykladowych sessid nie da sie rozgryzc sposobu ich generowania
gazelek
Tak, sam generuje sessid. Postac maja podobna do tych generowanych przez wbudowany mechanizm sesji, wiec raczej nie powinno byc problemu winksmiley.jpg
gox
"Sprawa adresu MAC wydawala sie dosc sensowna"

Adres MAC przestaje byc widoczny po tym jak polaczenie przechodzi przez pierwszy router....
Piszesz wlasnie mechanizmy sesji a nie znasz podstawowych informacji na temat protokolow sieciowych, Zenujace.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.