Outlook Web Access: kuriozalny problem z JWT. Można było czytać maile innych osób – stare ale jare.

04 stycznia 2021, 13:24 | W biegu | 0 komentarzy
: oglądaj sekurakowe live-streamy o bezpieczeństwie IT.

Ostatnio nieco atencji doznały te podatności (są one już dość wiekowe – 2019r. / załatane, ale mają sporą wartość edukacyjną – stąd ten wpis).

Jak można było uzyskać dostęp do e-maili innych osób via OWA?

W pewnym miejscu ten ostatni generował token JWT, który (uwaga, uwaga) nie był podpisany (więcej o bezpieczeństwie JWT – tutaj). Jakość zrzutu poniżej jest taka sobie, ale może widzicie w czwartym wierszu od dołu, kropkę znajdującą się po prawej stronie? :) Normalnie po kropce powinien następować podpis JWT.

Token ten zapewniał dostęp do m.in. e-maili osoby o zadanym OID. Ale OID był względnie „losowy” (z kolei swój OID mogłem uzyskać bez problemu). Co w takim razie? Badacz zlokalizował pewną funkcję API, gdzie można było uzyskać OIDy pewnych innych użytkowników:

Jak to mawiają: mission completed.

Wnioski dla nas? Nigdy nie używajmy tzw. niepodpisanych JWT (unsigned czy unsecured JWT) – tutaj były one wygenerowane przez sam serwer (!), czasem jednak istnieje metoda na wymuszenie akceptowania niepodpisanych JWT (patrz tutaj czy tutaj).

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz