![]() |
![]() |
![]() ![]()
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: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat
Cytat Odnośnie banków, to zauważ, że w większości banków stosują kody jednorazowe lub tokeny przysyłane listem do domu - i nie robią tego tylko po to, aby wydać w kosmos kilkanaście tysięcy/mc. Celem tych kodów nie jest zabezpieczenie przed CSRF.Cytat Obrona przed atakiem CSRF jest trudna [...] Jest to jeden z najpopularniejszych i najprostszych w obronie ataków - na poziomie XSS czy SQL Injection.Cytat [...] losowy token dla sesji wykorzystywany dla każdego formularza (jeden token w zupełności wystarczy). A teraz popatrz na mój pierwszy post i przeczytaj dlaczego zaproponoswałem użycie pary powiązanych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 16:18 |