Pull to refresh

Выход из ВК может не завершить сессию пользователя, но показать страницу приветствия

На написание данной статьи меня подтолкнула эта запись После логаута пользователя VK можно получить управление его страницей, которая полна ложных заблуждений как в самом тексте статьи, так и в комментариях к ней.

Суть в том, что если ссылка выхода из ВК содержит невалидный параметр hash, то можно наблюдать страницу авторизации, хотя сессия пользователя всё ещё остаётся актуальной. Ввод любых данных в форму, даже валидных данных другого аккаунта, заново актуализирует авторизацию первого пользователя.

Переход по публичным страницам как эта https://vk.com/habr или же заход на главную страницу https://vk.com всё ещё покажет нам форму авторизации, как и запрос через OAuth.

А вот переход на любую непубличную страницу, к примеру https://vk.com/im, актуализирует сессию пользователя.

Опасность заключается в том, что браузер может выгрузить страницу ВК из памяти на диск, оставив валидные куки авторизации, хотя параметр hash со временем становится невалидным. Нажимая на кнопку выхода вы видите страницу приветствия, хотя сессия пользователя остаётся всё ещё валидной. И следующий пользователь браузера получит полный доступ к вашей странице.

Для воспроизведения достаточно:

p.s.: репортил пару лет назад, сказали не баг, но фича.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.