Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Istnieją 2 metody zabezpieczeń przed CSRF, które chronią tylko częściowo:
Skuteczniejsze metody:
Jakie jeszcze znacie skuteczne sposoby zabezpieczeń? Chcę zastosować takie zabezpieczenia, aby w jak najmniejszym stopniu utrudnić korzystanie z serwisu. Rozważmy jednorazowy klucz. Standardowa implementacja wygląda tak:
Osoba pisze jednocześnie 2 posty. Kiedy wyśle drugi, zobaczy komunikat "Wyślij formularz ponownie". Przyczyna: w sesji zapisujemy klucz pod identyczną nazwą. Innym razem pisze długi post. Znowu do samo. Przyczyna: Sesja wygasa po 20 minutach (można zwiększyć, tylko niezalecane). Rozważmy ponowne logowanie przy wejściu do panelu admina. Redaktor pisze długi artykuł. Zapisuje. Niestety, sesja wygasła. Musi zalogować się ponownie. Artykuł znika. Zamiast sesji można wykorzystać ciasteczka. Dopóki nie zamknie przeglądarki, nie zostanie wylogowany. Jak nie popełnić błędu? Wystarczy zapisać md5(hasło + coś tam)? Jak projektować zabezpieczenia, aby nie utrudniać życia użytkownikom? Ten post edytował WebCM 18.03.2012, 16:41:44 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Cytat To rozwiązanie z hashem jest raczej średnie - uparty napastnik będzie znał ofiarę (ip,user,browser) i wierzę, że wpadnie na pomysł z hashem. Ciekawy jak bys chcial poznac hash uzytkownika...?!? Jedynym sposobem bylby sql injection no ale sry jesli juz decydujesz sie na takie zabezpieczenia to sql injection trzeba miec opanowane. Cytat Zdecydowanie lepsza i wydajniejsza metoda jest z ukrytym kluczem generowanym jednorazowo przy logowaniu i sprawdzaniu później czy się zgadza tym z sesji - tak jak zademonstrowałeś na przykładzie, jest to metoda w zupełności wystarczalna. I po co ten zabieg?Taka sama metoda jak i moja niepotrzbnie tylko to robic za kazdym razem jak mozna miec jeden hash na zawsze. |
|
|
|
WebCM Ponowne uwierzytelnianie i obrona przed CSRF 18.03.2012, 16:40:08
marcio Poprostu przed CSRF stosuj token i ewentualnie ses... 19.03.2012, 18:39:26
fr33d0m @marcio
To rozwiązanie z hashem jest raczej średni... 19.03.2012, 23:45:53
fr33d0m @marcio
Po pierwsze poprzez 'hash' rozumie... 20.03.2012, 16:03:05
marcio CytatPo pierwsze poprzez 'hash' rozumiem p... 20.03.2012, 17:28:12
fr33d0m Dla mnie hash to hash (czysty bez dodatków, który ... 20.03.2012, 19:17:41
marcio CytatDla mnie hash to hash (czysty bez dodatków, k... 20.03.2012, 19:42:44
fr33d0m Ja zawsze testuje swój kod na przeróżne zagrożenia... 20.03.2012, 20:13:38
em1X Nie trzeba niczego do bazy dodawać. Przy każdym ot... 23.03.2012, 12:50:05
Crozin CytatOsoba pisze jednocześnie 2 posty. Kiedy wyśle... 23.03.2012, 13:14:02
fr33d0m @Crozin
Szczerze to nie zbyt kumam cały sens Twoje... 23.03.2012, 21:06:08
Crozin @fr33d0m: Nie, nie będzie mógł wysłać czegoś w imi... 23.03.2012, 21:46:19
WebCM CytatPrzed takim czymś (i innymi problemami - np. ... 23.03.2012, 23:46:47
marcio CytatPowstał temat bezpiecznego logowania. Załóżmy... 24.03.2012, 11:10:46
fr33d0m Cytat(Crozin @ 23.03.2012, 21:46:19 )... 25.03.2012, 00:33:16
Crozin @fr33d0m: Niby w jaki sposób zewnętrzny serwer mia... 25.03.2012, 01:13:49
marcio CytatA słabość MD5 polega na tym, że udało się opr... 25.03.2012, 01:17:45
fr33d0m Cytat@fr33d0m: Niby w jaki sposób zewnętrzny serwe... 25.03.2012, 01:36:57
Crozin @marcio: Każdy algorytm hashujący podatny jest na ... 25.03.2012, 13:04:04
fr33d0m CytatA słabość MD5 polega na tym, że udało się opr... 25.03.2012, 13:47:03
Crozin Cytat[PHP] pobierz, plaintext Serwer podantny na C... 25.03.2012, 14:13:37 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 12:19 |