След като излезете от потребителя на VK, можете да получите контрол върху неговата страница
Реших да опитам с API на Vkontakte и попаднах на интересна функция.
Когато пишете тази бележка, нито един потребител на VK не пострада.
Можете да помогнете и да прехвърлите някои средства за разработването на сайта
Коментари (75):
Няма ли VK програма за разплащане за намерени уязвимости?
Вашата бележка изглежда точно така.
Те също така забраняват за постоянно тези, които не им пишат, но експлоатират и разпространяват публично
Лошо търсено: hackerone.com/vkcom. Преди шест месеца получих 200 долара за много несериозна уязвимост. Управляван дълго време, наистина.
Като наивен потребител вярвах, че прозорецът с описание на уязвимости е на самия уебсайт на VK.
Е, изглежда, че това е логично, но като цяло те плащат с грешка
Грешка виси повече от година, те най-накрая могат да използват тази програма ...
Всъщност сайтът VK е същото приложение и вие ще излезете от него, вместо от вашия.
За да влезете в маркер, трябва да използвате API методи, указващи маркера, ако има такъв.
Тъй като нямате подробна информация в статията за последващия достъп до потребителската страница, сигурен съм, че няма да получите повече от основните права, които сте дали на маркера при създаването му. Това е основният принцип на OAuth.
Освен това е погрешно да обвиняваме някого в уязвимост при управлението на страници, след като излезете, без да предоставите подробно описание с предоставените доказателства и още повече да пишете не на тях, а публично. И фактът, че OAuth е създаден, включително за управление, е да.
Това е цялата суматоха - получавам пълен достъп и чрез браузъра.
Дали потребителският маркер P1 в бисквитките не е заменен от потребителския маркер P2? Замяната на бисквитки с валидни нарушава oAuth, нищо не можете да направите
Не трябва ли старият маркер да бъде обезсилен на сървъра след излизане?
Къде да почистите? В браузъра, на сървъра, в приложението?
В браузъра.
На сървъра можете също да деактивирате предишната сесия - тя вече няма да е необходима.
Приложението VK не контролира, всичко е такова, каквото е, няма да пречи на нищо - свой собствен символ, той живее отделен живот.
Повтарям още веднъж: когато човек е „отключен“ в браузъра, никой токен не трябва да бъде деактивиран. Ето как е замислен OAuth. И точно това е логично. Защото искам да изляза на ВК, а не на Хабре например.
Нека да разгледаме изпълнението от GitHub: Влезте в GitHub. Отидете на dubblet.com и влезте чрез GitHub OAuth. Излизане от GitHub. Върнете се на дублирана, създайте нов документ, запазете го. И ние сме изненадани, че на GitHub се появи нова същност. Въпреки че бяхме излезли от GitHub!
И какво, когато влезете като нов потребител в github, получавате достъп до данните на стария? Това е то!
Като цяло, да, вярвам, че след като вторият потребител влезе, достъпът до данните на първия потребител трябва да бъде прекратен. И OAuth или не OAuth не играе кралски особи.
Няма значение дали е излязъл или не. Какво се случва с молбата му не е важно. Важно е той да влезе във VK като втори потребител и да получи данните на първия. Това не трябва да се случва. Но това се случва просто съдейки по отговора на техническата поддръжка (не грешка, а функция). Тоест, те признаха, че това се случва.
Описах цялата процедура. Какво точно ви интересува?
Що се отнася до виновника - OAuth или не OAuth - не мога да знам. Току-що описах как открих грешката. Когато се опитах да направя целия този трик без участието на API, чрез браузъра (Opera), не успях. Но не изключвам възможността да има някакъв начин да направя всичко това без участието на API и OAuth. Но мога да кажа само това, което видях с очите си.