2014-09-03 19 views
6

W ciągu ostatnich kilku miesięcy budowałem aplikację (ios i aplikację internetową) w programie Parse, a dopiero odkryłem, jak działają tokeny sesji. To, czego nauczyłem się do tej pory:zabezpieczenie tokenu sesji parse.com

  • Każdy użytkownik ma swój własny sesji tokena
  • Token jest stosowany w celu zastąpienia poświadczenia użytkownika (uwierzytelnianie) podczas wykonywania żądania do serwera
  • Token nigdy zmiany (nawet po zresetowaniu hasła) i nigdy nie wygasa
  • Token jest przechowywany lokalnie po stronie klienta po zalogowaniu
  • Użytkownik może być zalogowany przy użyciu metody Parse.User.become (sessiontoken, options), przy czym tylko token sesji

Wydaje mi się to bardzo niebezpieczne, czy też czegoś brakuje? Wydaje się, że jeśli ktoś dostanie ten token, ma on wieczny dostęp do konta użytkowników, nawet jeśli zmieniono nazwę użytkownika i/lub hasło?

Dzięki,

Mario

+1

Jeśli żeton naprawdę działa w ten sposób, to tak - wygląda śmiertelnie niezabezpieczone. – Regent

+0

prawda; myślisz o aplikacjach internetowych, których używasz, gdy ciasteczko robi to samo ?? –

+0

możesz użyć opcji revokeSessionOnPasswordReset w konfiguracji serwera parsowania –

Odpowiedz

2

Mam również dwukrotnie sprawdzane token sesji wróciłam z REST API & Android Client. To jest to samo. Nawet po zmianie hasła.

Jest to zdecydowanie potencjalne zagrożenie bezpieczeństwa. Każdy, kto jest urządzeniem mobilnym, zostaje skradziony, haker może uzyskać token sesji, jeśli sesja nie jest szyfrowana, a bezpieczeństwo danych użytkownika jest zagrożone na zawsze.

Jako że haker może używać tokenu sesji od dowolnego klienta na zawsze. Nigdy nie dowiesz się, kiedy haker zrobi zło. Jestem poważnie zaniepokojony tą kwestią. Mam nadzieję, że ktoś to rozwiąże.

PS: Cześć Mario, zgłosiłem problem na platformie programistów Facebooka.

https://developers.facebook.com/bugs/309490399239393/

nadzieję, że ktoś będzie go śledzić i rozwiązać go ostatecznie.

+0

Możesz edytować ten wpis, aby przekierować do dyskusji, którą przeprowadziłeś na https://groups.google.com/forum/#!topic/parse-developers/qjvKJYikHQ8, a ja zaakceptuj to jako odpowiedź. Dzięki! – Mario

+1

Wygląda na to, że użytkownik "token sesji" jest w rzeczywistości identyfikatorem bazy danych rekordu użytkownika w analizie składni. Jeśli tak, problem nie polega na tym, że nigdy się nie zmienia, ale że możesz "stać się" użytkownikiem bez żadnej bariery uwierzytelniania. – wberry

Powiązane problemy