![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Czy taki kod:
jest dobrym zabezpieczeniem przede XSS i CSRF? Czy można to zrobić jakoś lepiej? |
|
|
-Gość- |
![]()
Post
#2
|
Goście ![]() |
W drugiej linijce chciałem oczywiście napisać:
if (!empty($_GET)) array_walk_recursive($_GET, 'CleanTags'); |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
-Gość- |
![]()
Post
#4
|
Goście ![]() |
A czy ten sposób, który podałem nie jest dobry?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
-Gość- |
![]()
Post
#6
|
Goście ![]() |
Ale przecież ten kod usuwa wszystkie znaczniki jakie użytkownik może gdziekolwiek podać (pole formularza, doklejenie do adresu, itd.), a żeby CSRF się udał atakujący musi mieć chyba możliwość wstawiania znaczników?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
Tak, z tego co teraz doczytałem najważniejsze w ochronie przed CSRF jest, żeby sprawdzać poprawność tokena, ale ochrona przed XSS jest chyba częścią ochrony przed CSRF (przynajmniej wg. tego co jest napisane tutaj - "Make sure your site is not vulnerable to XSS")?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Strona nie musi być podana na XSS żeby możliwe było przeprowadzenie ataku CSRF.
Nawet na forum php.pl można przeprowadzić niegroźny atak CSRF. Mogę np. spowodować, że Twoj login pojawi się na liście odwiedzjących mój profil. Wystarczy obrazek w treści posta który przekieruje na odpowiedni URL. Ten post edytował wNogachSpisz 1.08.2012, 14:57:59 |
|
|
-Gość- |
![]()
Post
#10
|
Goście ![]() |
Pozostaje kwestia w jaki sposób przechowywać token? W przypadku formularzy można go schować w polu hidden. A jak będzie w przypadku odnośników? Gdzie go można przechowywać? Na pewno w samym adresie URL, ale czy oprócz tego (nie chciałbym przechowywać tokena w adresie URL bo to by trochę spaskudziło przyjazne adresy) jest jeszcze jakiś inny sposób? Może jakoś w zmiennej sesji?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Odpowiedź jest dość prosta - wszelkie akcje typu "zmień coś" (np. akcja "Usuń moje konto") wstaw do formularza z tokenem. Pozostałe akcje nie będą interesowały potencjalnego hakiera
Ten post edytował CuteOne 4.08.2012, 23:18:03 |
|
|
-Gość- |
![]()
Post
#12
|
Goście ![]() |
No ale jeżeli np. po zalogowaniu w panelu użytkownika jest link "Usuń moje konto", to taka akcja raczej na pewno będzie bardzo interesowała hakera.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No ale jeżeli np. po zalogowaniu w panelu użytkownika jest link "Usuń moje konto", to taka akcja raczej na pewno będzie bardzo interesowała hakera. Nawet bardzo. Jednak nie widziałem jeszcze serwisu, który umożliwiałby usunięcie konta zwyczajnie po kliknięciu w link. Ten post edytował !*! 5.08.2012, 10:14:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 19:13 |