Czy usługi internetowe JSON są podatne na ataki CSRF?
Buduję usługę internetową, która używa wyłącznie JSON do treści żądania i odpowiedzi (tzn. Nie zawiera danych zakodowanych w formie).
Czy usługa sieci Web jest podatna na atak CSRF, jeśli są prawdziwe?
KażdyPOST
żądanie bez obiektu JSON najwyższego poziomu, np.{"foo":"bar"}
, zostanie odrzucony z 400. Na przykład, aPOST
żądanie z treścią42
zostanie zatem odrzucony.
KażdyPOST
żądanie z typem zawartości innym niżapplication/json
zostanie odrzucony z 400. Na przykład, aPOST
żądanie z typem zawartościapplication/x-www-form-urlencoded
zostanie zatem odrzucony.
Wszystkie żądania GET będąBezpieczny, a tym samym nie modyfikować żadnych danych po stronie serwera.
Klienci są uwierzytelniani za pomocą cookie sesji, który usługa sieciowa udostępnia im po podaniu prawidłowej pary nazwa użytkownika / hasło za pośrednictwem POST z danymi JSON, np.{"username":"[email protected]", "password":"my password"}
.
Pytanie pomocnicze: ArePUT
iDELETE
wnioski kiedykolwiek narażone na CSRF? Pytam, ponieważ wydaje się, że większość (wszystkich?) Przeglądarek uniemożliwia stosowanie tych metod w formularzach HTML.
EDYCJA: Dodano element # 4.
EDIT: Wiele dobrych komentarzy i odpowiedzi do tej pory, ale nikt nie zaproponował konkretnego ataku CSRF, na który ta usługa internetowa jest podatna.