Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 18.09.2007 Ostrzeżenie: (0%)
|
Witam.
Męczę się nad bezpiecznym systemem uwierzytelniania i proszę ocenić, czy takie coś będzie bezpieczne:
Głównie chodzi mi o to, czy ktoś może zmienić wartość tablicy sesji $_SESSION['logged'] na 1 i tym samym zdobyć uprawnienia admina. Ten post edytował MGreg 4.06.2008, 17:35:26 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%)
|
Nie jest, ale czy dyrektywa session.use.cookies.only jest włączona? Jeśli nie identyfikator pójdzie przez adres w przypadku gdy cookie nie zostanie przyjęte. Także regeneracja nie jest aż tak zbędna, jakby się wydawało, chociaż dzisiaj praktycznie większość serwerów wymusza sesje przez ciacha ^^
@up A gdzie tu masz wypisywanie jakichkolwiek danych wprowadzonych przez użytkownika? Ten post edytował Shili 4.06.2008, 18:12:24 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
Nie jest, ale czy dyrektywa session.use.cookies.only jest włączona? Jeśli nie identyfikator pójdzie przez adres w przypadku gdy cookie nie zostanie przyjęte. Także regeneracja nie jest aż tak zbędna, jakby się wydawało, chociaż dzisiaj praktycznie większość serwerów wymusza sesje przez ciacha ^^ @up A gdzie tu masz wypisywanie jakichkolwiek danych wprowadzonych przez użytkownika? No tak... to co pokazał autor to jest pewnie cały skrypt, prawda Shili? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 13 Dołączył: 1.06.2007 Skąd: Wrocław Ostrzeżenie: (0%)
|
No tak... to co pokazał autor to jest pewnie cały skrypt, prawda Shili? To jeszcze powiedz autorowi jak powinien zabezpieczyć serwer bo przecież gdzieś to musi uruchomić (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Autor pisze o systemie autoryzacji a Ty opowiadasz o XSS jakby to miało cokolwiek wspólnego. Wracając do tematu to zależy co rozumiesz pod słowem "bezpieczny"... Ogólnie przy systemach autoryzacji powinieneś wziąć pod uwagę jeszcze takie rzeczy jak Brute-force i zastosować np. 1. Po 3 nieudanych próbach - kolejne próby dostępne co minutę. 2. Max. 10 nieudanych prób logowania, potem blokada konta, aktywacja poprzez mail do właściciela. Poza tym, już niezwiązane z brute-force: 1. Zastosować SSL. 2. Uważać na tzw. replay attack poprzez nieużywanie danych, które umożliwiają trwały dostęp do zasobów. Szczególnie tzw. trwały login. Jeśli już używasz takich zabawek to nie trzymać w ciastkach hasła i loginu, nawet zhashowanych, tylko zastosować dodatkowy identyfikator zamiast loginu + token zamiast hasła. 3. Przy logowaniu zastosować hasła maskowane, klawiaturę ekranową... No i oczywiście SQL Injection. Wszystko zależy od tego jak bardzo "bezpieczny" chcesz mieć system autoryzacji. Jeśli chodzi bezpośrednio o kod, który podałeś to: 1. Nie używaj Select *... 2. Dodaj LIMIT do zapytania 3. Nie sprawdzaj mysql_num_rows($query)>0 tylko mysql_num_rows($query)===1 -> zalogowany 4. Dodaj ograniczenie długości dla wprowadzanego hasła i loginu. 5. Nie trzymaj w sesji nazwy użytkownika tylko np. wspomniany już losowy identyfikator... ..i to tyle z rzeczy, które teraz przyszły mi do głowy. Ten post edytował LonelyKnight 5.06.2008, 09:36:37 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 12 Dołączył: 6.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
|
|
|
|
MGreg $_SESSION i Uwierzytelnianie - pytanie 4.06.2008, 17:32:36
marcio Ja bym zmienil jak juz cos jedna rzecz zamiast daw... 4.06.2008, 17:38:11
MGreg Umieściłem tylko przykład, dlatego nie dodawałem e... 4.06.2008, 17:52:21
pyro jeszcze zabezpieczenie przed XSS by można było ^^ 4.06.2008, 17:58:16 
MGreg Cytat(Shili @ 4.06.2008, 19:10:55 ) @... 4.06.2008, 18:15:58 

LonelyKnight Cytat(Cotter @ 5.06.2008, 11:22:53 ) ... 5.06.2008, 11:27:19 
pyro Cytat(LonelyKnight @ 4.06.2008, 22:02... 5.06.2008, 15:49:34 
LonelyKnight Cytat(pyro @ 5.06.2008, 16:49:34 ) Au... 6.06.2008, 12:00:38
Shili Nie nie, to było do @pyro. Powinnam była wyraźniej... 4.06.2008, 18:28:19
Shili Nieprawda, ale przekazywane jest tylko login i has... 4.06.2008, 20:27:34
MGreg Co do XSS stosuję strip_tags(); i chyba to mi wyst... 4.06.2008, 20:54:44
MGreg Zobaczcie czy teraz jest lepiej. Dodałem spra... 5.06.2008, 08:25:43
MGreg Wracając do tematu... czy może ktoś obiektywnie oc... 5.06.2008, 11:49:12
LonelyKnight Może być.
session_regenerate_id(true) ... 5.06.2008, 12:33:43
wlamywacz Nie Select * tylko wybrane pola czyli Select pole1... 5.06.2008, 16:55:39 
pyro Cytat(wlamywacz @ 5.06.2008, 17:55:39... 5.06.2008, 18:44:24
Shili Dalej nie ma tam żadnej wzmianki o tym, że autor c... 5.06.2008, 20:25:36
empathon http://www.acros.si/papers/session_fixation.pdf
P... 5.06.2008, 23:59:08 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 17:17 |