Witam, dużo czytałem na temat wspomnianej w tytule metody przeciwdziałania atakom CSRF. Wiem, że po wejściu na stronę, ustawiany jest plik cookie z atrybutem httpOnly zawierający token, dodatkowo ten sam token przesyłany jest na klienta w jakiejś formie (np. jako ukryte pole formularza). Po wysłaniu requesta, oba tokeny muszą się zgadzać. No i niby jesteśmy bezpieczni, bo atakujący tworząc linka z requestem, nie wie jaki token utworzy serwer w pliku cookie u klienta.
Co jednak, jeśli skrypt atakującego najpierw wykona żądanie GET na "atakowaną stronę", sparsuje odpowiednio odpowiedź i wyciągnie z niej CSRF token? Jak wiadomo, pliki cookie ustawiane są zawsze automatycznie. Mamy więc wszystkie informacje, by wykonać krytyczny request.
Wiem, że pogrubiony fragment jest zastrzeżony przez SOP (Single Origin Policy). Zastanawia mnie jednak to, jak sprawa wygląda dla serwera zezwalającego na CORS. Czy w takiej sytuacji całe omawiane zabezpieczenie jest bezskuteczne?
Z góry dziękuje za informację zwrotną czy dobrze myślę