- PVSM.RU - https://www.pvsm.ru -
Решил попробовать себя в работе с API Вконтакте и наткнулся на интересную особенность.
Один из способов авторизации в API — это OAuth. Вкратце всё происходит так: создаёте приложение ВК, получаете его ID, а затем отправляете браузер пользователя на адрес:
https://oauth.vk.com/authorize"
+ "?client_id=123" // ID вашего приложения
+ "&display=page"
+ "&redirect_uri=https://oauth.vk.com/blank.html" // URL, на который попадёт пользователь после успешной авторизации. ВК требует указания этого сайта в настройках приложения и только для приложения типа Сайт. Для остальных работает только указанный УРЛ, в целях безопасности
+ "&scope= права доступа"
+ "&response_type=token"
+ "&v=5.52"
+ "&state=1CtoVK"
Если пользователь залогинен, ему будет сразу предложено установить приложение, если нет — вначале залогиниться, а уже потом устанавливать. Если приложение уже установлено, то идёт сразу переход на страницу, в хэше которой будет токен. Дальше идёт работа с API.
Самое интересное начинается после выхода из ВК. Ваше приложение может иметь ссылку на выход вида vk.com/login.php?op=logout [1]. Это стандартная ссылка на выход из VK. Но после выхода пользователя из VK куки остаются рабочими.
Таким образом, если опять показать страницу авторизации, ввести совершенно другой логин и пароль — вы всё равно сможете пользоваться страницей первого пользователя.
Самое смешное то, что вы можете использовать в вашем приложении самые безобидные права. То есть не нужно пугать пользователя тем, что вы просите доступ к фоткам, аудио, видео, сообщениям и всему остальному. Можно оставить только базовые — и всё. Куки при этом всё равно будет полностью рабочими, используя их вы попадёте прямиком на страницу пользователя.
Можно ли считать данную особенность уязвимостью — думайте сами. По-моему, это как минимум не то, чего ожидает пользователь, нажимая на кнопку «Выход» и надеясь на то, что теперь уж его страница в безопасности.
При написании данной заметки ни один пользователь ВК не пострадал.
Автор: prohodil_mimo
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vkontakte-api/161845
Ссылки в тексте:
[1] vk.com/login.php?op=logout: https://vk.com/login.php?op=logout
[2] Источник: https://habrahabr.ru/post/306312/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.