![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 17.10.2014 Ostrzeżenie: (10%) ![]() ![]() |
Zacząłem ostatnio uzupełniać swoją wiedzę z PHP i mam mętlik w głowie. Zrobiłem sobie prosty system logowania oparty na cookies, jednak teraz dowiaduje się, że bezpieczniej jest robić logowanie na sesjach, gdyż podobno użytkownik może ciasteczka tworzyć sam oraz je edytować (https://www.youtube.com/watch?v=bW64jbnGYHw). Niejednokrotnie widzę na stronach internetowych napis, że ich witryna używa cookies, a po usunięciu ciasteczek z przeglądarki, następuje wylogowanie mnie. To jak to z tym wreszcie jest? Cookies czy sesje?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ustalmy kilka faktów:
- base64 encode i decode nie ma nic wspólnego z bezpieczeństwem - wrażliwych danych nie trzyma się w cookie nawet "zaszyfrowanych" - kohana 3 to prehistoria Cytat Przekazywanie session id przez URL wiąże się z niebezpieczeństwem ataków typu Session Fixation, Session Poisoning, Session Hijacking. A trzymanie zserializowanych danych w ciasku to niby nie... Natura cookie jest taka, że trzymasz w nim pary klucz=>wartość w typach prostych. Skoro chcesz do typu prostego wpakować typ złożony, to chociaż powinna Ci się zapalić czerwona lampka. Nie wypisujcie proszę takich bzdur tutaj, bo ktoś to kiedyś przeczyta i weźmie sobie za fachowe źródło. Cytat Standardowe logowanie opiera się na sesjach, natomiast opcja zapamiętaj mnie przez dajmy na to miesiąc na odpowiednich dodatkowych tabelach i wpisach w bazie danych użytkowników ale to też stwarza pewne niebezpieczeństwa, o czym się kiedyś przekonałem na własnej skórze :-) Zwłaszcza jeśli się logowaliście na innym laptopie z tą opcją i ktoś inny może Wam łatwo dodać wpisy na Facebooku, których sobie nie życzycie :-) Że co? |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 12 Dołączył: 17.09.2014 Skąd: Krasnystaw Ostrzeżenie: (0%) ![]() ![]() |
Cytat(lukaskolista @ 27.08.2016, 11:25:12 ) Ustalmy kilka faktów: - base64 encode i decode nie ma nic wspólnego z bezpieczeństwem - wrażliwych danych nie trzyma się w cookie nawet "zaszyfrowanych" - kohana 3 to prehistoria Zostawmy może KO3, dałem przykład (ze źródeł) tylko po to żeby łatwo każdy czytelnik mógł sobie przeanalizować kod i jak się realizuje taką ochronę przed ręczną modyfikacją ciasteczek. Tylko i wyłącznie. Na ile łatwy do złamania jest Rijndael? No jest jeszcze kwestia tego co uważasz za wrażliwe dane, bo jeśli chodzi o logowanie to nawet session id, które jest trzymane w ciasteczku można by uznać za wrażliwe. Base64 to kodowanie transportowe, oczywiście że nie ma to nic wspólnego z bezpieczeństwem, bo można łatwo to zidentyfikować i równie łatwo rozkodować (nawet bez znajomości PHP bo są serwisy online). Ale jakoś trzeba te dane (nie prosty string) zapisać, bo jak sprawdzałem to na mcrypt to mi wychodziły jakieś krzaczki ale i bez tego jest to też stosowane. W tym sensie z założenia żeby była tylko możliwość a nie koniecznie że jest zalecane czy nie zalecane składowanie złożonych danych. Cytat A trzymanie zserializowanych danych w ciasku to niby nie... Odnosząc się do tego co wyżej: 1. Jak łatwo rozszyfrować Rijndael i ile to zajmie czasu? 2. Skoro jest używany hash (np. SHA1) do kontroli oraz sól (której haker nie zna) a jest zapisana gdzieś w tym przypadku w Kohanie w bootstrap.php w postaci (przykładowa wartość):
oczywiście na serwerze, gdzie nie ma (no chyba że się włamie) dostępu do kodu, to nawet jeśli spróbuje zmodyfikować ciasteczko, to FW tego nie przyjmie. Przynajmniej częściowa ochrona. Napisałem tylko że istnieje możliwość przetrzymywania sesji w Cookie, KO3 oraz pewnie inne frameworki mają do tego swoje klasy do obsługi tego typu sesji. Jakich więc wrażliwych danych nie należy przetrzymywać w cookie? A w dalszej części wypowiedzi chodziło mi o to, że łatwo można się przejechać logując się w serwisie zaznaczając przez nieuwagę albo bo tak jest wygodniej checkbox "zapamiętaj mnie", na jakimś innym laptopie. Wydaje mi się że w dużej mierze problem z bezpieczeństwem to nie tylko kwestie techniczne ale i zwykłe naturalne (albo rutynowe) zachowania użytkowników o których hakerzy doskonale wiedzą. Ten post edytował daro0 27.08.2016, 16:13:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:33 |