Sunday 4 May 2014

VK.com OAuth 2.0 Service Covert Redirect Web Security Bugs (Information Leakage & Open Redirect)


















VK.com OAuth 2.0 Service Covert Redirect Web Security Bugs (Information Leakage & Open Redirect)



(1) Domain:
vk.com


"VK (originally VKontakte, Russian: ВКонтакте, literally "in touch") is the largest Russian social network in Europe. It is available in several languages, but is especially popular among Russian-speaking users, particularly in Russia, Ukraine, Belarus, Kazakhstan and Uzbekistan. Like other social networks, VK allows users to message each other publicly or privately, to create groups, public pages and events, share and tag images, audio and video, and to play browser-based games. As of November 2014, VK had at least 280 million accounts. VK is ranked 22 (as of November 1, 2014) in Alexa's global Top 500 sites and is the second most visited website in Russia, after Yandex. According to eBizMBA Rank, it is the 8th most popular social networking site in the world. As of January 2015, VK had an average of 70 million daily users." (Wikipedia)








(2) Vulnerability Description:

VK.com web application has a computer security problem. Hacker can exploit it by Covert Redirect cyber attacks. 


The vulnerabilities can be attacked without user login. Tests were performed on Microsoft IE (10.0.9200.16750) of Windows 8, Mozilla Firefox (34.0) & Google Chromium 39.0.2171.65-0 ubuntu0.14.04.1.1064 (64-bit) of Ubuntu (14.04),Apple Safari 6.1.6 of Mac OS X Lion 10.7. 











(2.1) Vulnerability Detail:

VK's OAuth system is susceptible to Attacks. More specifically, the authentication of parameter "&redirct_uri" in OAuth system is insufficient. It can be misused to design Open Redirect Attacks to VK.



At the same time, it can be used to collect sensitive information of both third-party app and users by using the following parameters (sensitive information is contained in HTTP header.),
"&response_type"=code,token...
"&scope"=basic information...




It increases the likelihood of successful Open Redirect Attacks to third-party websites, too.




The vulnerabilities occurs at page "/authorize?" with parameter "&redirect_uri", e.g.
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.tetraph.com%252Fessayjeans%252Fpoems%252Ffish_water.html [1]





Before acceptance of third-party application:
When a logged-in VK user clicks the URL ([1]) above, he/she will be asked for consent as in whether to allow a third-party website to receive his/her information. If the user clicks OK, he/she will be then redirected to the URL assigned to the parameter "&redirect_uri".



If a user has not logged onto VK and clicks the URL ([1]) above, the same situation will happen upon login.





After acceptance of third-party application:
A logged-in VK user would no longer be asked for consent and could be redirected to a webpage controlled by the attacker when he/she clicks the URL ([1]).



For a user who has not logged in, the attack could still be completed after a pop-up page that prompts him/her to log in.






(2.1.1) VK would normally allow all the URLs that belong to the domain of an authorized third-party website. However, these URLs could be prone to manipulation. For example, the "&redirect_uri" parameter in the URLs is supposed to be set by the third-party websites, but an attacker could change its value to make Attacks.


Hence, a user could be redirected from VK to a vulnerable URL in that domain first and later be redirected from this vulnerable site to a malicious site unwillingly. This is as if the user is redirected from VK directly. The number of VK's OAuth client websites is so huge that such Attacks could be commonplace.


Before acceptance of the third-party application, VK's OAuth system makes the redirects appear more trustworthy and could potentially increase the likelihood of successful Open Redirect Attacks of third-party website.


Once the user accepts the application, the attackers could completely bypass VK's authentication system and attack more easily.








(2.2) Used one of webpages for the following tests. The webpage is "http://diebiyi.com/articles/". Can suppose it is malicious and contains code that collect sensitive information of both third-party app and users.



Below is an example of a vulnerable third-party domain:
kp.ru




Vulnerable URL in this domain:
http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.tetraph.com%2Fessayjeans%2Fpoems%2Ffish_water.html




Vulnerable URL from VK that is related to kp.ru:
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin%2Fvkontakte.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.kp.ru%252F

http://api.vk.com/oauth/authorize?client_id=2852163&redirect_uri=http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.kp.ru&display=page&scope=wall,offline




POC:
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.tetraph.com%252Fessayjeans%252Fpoems%252Ffish_water.html

http://api.vk.com/oauth/authorize?client_id=2852163&redirect_uri=http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.tetraph.com%2Fessayjeans%2Fpoems%2Ffish_water.html&display=page&scope=wall,offline






POC Video:
https://www.youtube.com/watch?v=3gNhi8h2AQY


Blog Detail:
http://www.tetraph.com/blog/covert-redirect/vk-com-oauth-2-0-covert-redirect-vulnerability/








(3) What is Covert Redirect? 
Covert Redirect is a class of security bugs disclosed in May 2014. It is an application that takes a parameter and redirects a user to the parameter value without sufficient validation. This often makes use of Open Redirect and XSS (Cross-site Scripting) vulnerabilities in third-party applications.



Covert Redirect is also related to single sign-on, such as OAuth and OpenID. Hacker may use it to steal users' sensitive information. Almost all OAuth 2.0 and OpenID providers worldwide are affected. Covert Redirect can work together with CSRF (Cross-site Request Forgery) as well. 






Discover and Reporter:
Wang Jing, Division of Mathematical Sciences (MAS), School of Physical and Mathematical Sciences (SPMS), Nanyang Technological University (NTU), Singapore. (@justqdjing)











More Details:
http://tetraph.com/security/covert-redirect/vk-com-oauth-2-0-covert-redirect-vulnerability/
https://itswift.wordpress.com/2014/05/02/vk-exploit/
http://tetraph.blogspot.com/2014/05/vkcom-oauth-20-covert-redirect.html
https://twitter.com/tetraphibious/status/559166795525799936











=================










ВКонтакте OAuth 2.0 Ошибки служба Скрытое перенаправление веб-безопасности (утечка информации и открытого редирект)



(1) Домен:
vk.com


"«ВКонта́кте» (vk.com) — социальная сеть, принадлежащая Mail.Ru Group. По данным SimilarWeb, «ВКонтакте» является первым по популярности сайтом в России и на Украине, 6-м — в мире. По данным Alexa Internet, второй по популярности сайт в России и на Украине, третий — в Белоруссии, 24-й — в мире. Проект запущен 10 октября 2006 года. Ресурс изначально позиционировал себя в качестве социальной сети студентов и выпускников российских вузов, позднее стал называть себя «современным, быстрым и эстетичным способом общения в сети». В январе 2014 года ежедневная аудитория «ВКонтакте» составляла около 60 миллионов человек, а в январе 2015 года — 70 миллионов человек в день. Генеральный директор (с 2014 года) — Борис Добродеев, сын Олега Добродеева — генерального директора Всероссийской государственной телевизионной и радиовещательной компании.". (ru.wikipedia)







(2) Уязвимость Описание:
Веб-приложение ВКонтакте имеет проблемы компьютерной безопасности. Хакер может использовать его Скрытое перенаправление кибератак.


Уязвимости могут быть атакованы без входа пользователя в систему. Испытания проводились на Microsoft IE (10.0.9200.16750) в Windows 8, Mozilla Firefox (34,0) и Google Хром 39.0.2171.65-0 ubuntu0.14.04.1.1064 (64-бит) Ubuntu (14.04), Apple Safari 6.1.6 от Mac OS X Lion 10.7.








(2.1) Уязвимость деталь:
Система OAuth ВКонтакте подвержен атакам. Более конкретно, аутентификация параметра "& redirct_uri" в системе OAuth является недостаточным. Это может быть неправильно для разработки открытым перенаправление атак на VK.



В то же время, он может быть использован, чтобы собирать конфиденциальную информацию как стороннего приложения и пользователей, используя следующие параметры (секретная информация, содержащаяся в заголовке HTTP.),
"& Response_type" = код маркера ...
"& Область" = базовая информация ...




Это увеличивает вероятность успешных атак Открыть перенаправление на сторонних веб-сайтах, тоже.




Уязвимости происходит на странице "/ разрешить?" с параметром "& redirect_uri", например
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.tetraph.com%252Fessayjeans%252Fpoems%252Ffish_water.html [1]





До принятия сторонних применения:
Когда вошедшего в систему пользователя ВКонтакте нажимает URL ([1]) выше, то он / она будет предложено согласия, в том, чтобы позволить сторонних веб-сайт для получения его / ее информацию. Если пользователь нажимает кнопку ОК, он / она будет затем перенаправляется на URL, назначенного параметра "& redirect_uri».



Если пользователь не вошел на VK и нажимает URL ([1]) выше, такая же ситуация произойдет при входе.





После принятия стороннем приложении:
не вошедшего в систему пользователя ВКонтакте больше не будет предложено для согласия и может быть перенаправлен на веб-страницу, контролируемой злоумышленником, когда он / она нажимает URL ([1]).



Для пользователя, который не авторизованы атака еще может быть завершена после всплывающая страница, что побуждает его / ее войти.






(2.1.1) ВК, как правило, позволяют все адреса, которые принадлежат к сфере уполномоченным сторонних веб-сайт. Тем не менее, эти URL-адреса могут быть склонны к манипуляциям. Например, параметр "& redirect_uri" в URL, как предполагается, будет установлен сторонних веб-сайтах, но злоумышленник может изменить его значение, чтобы атак.


Следовательно, пользователь может быть перенаправлен от VK с уязвимой URL в этой области первым, а затем будет перенаправлен из этого уязвимого сайта на вредоносный сайт неохотно. Это как если бы пользователь перенаправляется от VK напрямую. Количество OAuth клиентских сайтов В.К. настолько огромен, что такие атаки могут быть обычным явлением.


До принятия стороннего приложения, система OAuth ВКонтакте делает редирект кажутся более надежными и потенциально может увеличить вероятность успешных атак Открыть перенаправление сторонних веб-сайта.


После того, как пользователь принимает заявки, нападавшие могли полностью обойти систему аутентификации ВКонтакте и нападение легче.








(2.2) Используется один из веб-страниц для следующих испытаний. Веб-страница "http://diebiyi.com/articles/". Можно предположить, что это злая и содержит код, который собирают конфиденциальную информацию как сторонних приложений и пользователей.



Ниже пример уязвимой области стороннего:
kp.ru




Уязвимые URL в этой области:
http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.tetraph.com%2Fessayjeans%2Fpoems%2Ffish_water.html




Уязвимые URL из ВК, что это связано с kp.ru:
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin%2Fvkontakte.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.kp.ru%252F

http://api.vk.com/oauth/authorize?client_id=2852163&redirect_uri=http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.kp.ru&display=page&scope=wall,offline




СПЭ:
http://oauth.vk.com/authorize?response_type=code&scope=12&client_id=2852163&redirect_uri=http%3A%2F%2Fmy.kp.ru%2Flogin.do%3FreturnUrl%3Dhttp%253A%252F%252Fwww.tetraph.com%252Fessayjeans%252Fpoems%252Ffish_water.html

http://api.vk.com/oauth/authorize?client_id=2852163&redirect_uri=http://my.kp.ru/login.do?returnUrl=http%3A%2F%2Fwww.tetraph.com%2Fessayjeans%2Fpoems%2Ffish_water.html&display=page&scope=wall,offline






СПЭ Видео:
https://www.youtube.com/watch?v=3gNhi8h2AQY


Блог деталь:
http://www.tetraph.com/blog/covert-redirect/vk-com-oauth-2-0-covert-redirect-vulnerability/








(3) Что такое Скрытое перенаправление?
Скрытое перенаправление класс ошибок безопасности, описанных мая 2014 Это приложение, которое принимает параметр и перенаправляет пользователя на значение параметра без достаточного обоснования. Это часто делает использование открытого Redirect и XSS (Cross-Site Scripting) уязвимостей в сторонних приложениях.


Скрытое перенаправление также связано с единого входа, такие как OAuth и OpenID. Хакер может использовать это, чтобы украсть конфиденциальную информацию пользователей. Почти все OAuth 2.0 и OpenID-провайдеров по всему миру страдают. Скрытое перенаправление может работать вместе с CSRF (Cross-Site Request подлог), а также.






Откройте для себя и Докладчик:
Ван Цзин, Отдел математических наук (MAS), школа физико-математических наук (ВПУ), Nanyang технологический университет (НТУ), Сингапур. (@justqdjing)
http://tetraph.com/wangjing/









Подробнее:
http://tetraph.com/security/covert-redirect/vk-com-oauth-2-0-covert-redirect-vulnerability/
https://itswift.wordpress.com/2014/05/02/vk-exploit/
http://tetraph.blogspot.com/2014/05/vkcom-oauth-20-covert-redirect.html
https://twitter.com/tetraphibious/status/559166795525799936



No comments:

Post a Comment