- PVSM.RU - https://www.pvsm.ru -

XSS на сайтах, использующих Instagram API

Разрабатывая приложение, использующее Instagram API, я заметил, что мне приходят не преобразованные теги. Безусловно, такая проблема решается за пару строчек кода. Но я подумал, а что если не все разработчики преобразовывают теги в сущности перед выводом на страницу, полностью доверяя API. Кто будет ожидать, что в описании страницы Instagram будет JS скрипт вместо текста?

Я нашел такие сайты.

Для начала добавил в описание профиля подключение удаленного скрипта js, а в описание некоторых фотографии строку

<script >alert(document.cookie);</script>

и несколько хештегов, среди которых #instagramapi.

Первый сайт, который я нашел — это Iconosquare [1].

IconoSquare — полезное приложение для анализа и управления вашим аккаунтом в Инстаграм. Удобный веб-интерфейс сэкономит время и поможет в общении с подписчиками. Через IconoSquare можно просматривать профили или искать по хэштегу

На этом сайте в решил искать свою фотографию по хештегу #instagramapi [2], в моем случае это была фотография с котом.

При нажатии на фотографию меня перекидывало на страницу, где содержится описание фотографии, но Iconosquare забыли преобразовать html-теги в сущности. Это дало возможность выполнения XSS.

Посмотреть изображение

image

Открыв исходники страницы, сразу стало понятно, что они забыли преобразовать теги в мета описании страницы.

Посмотреть изображение

image

На странице пользователя [3] они не преобразовывали имя и описание профиля Instagram — и вот результат.

Посмотреть изображение

image

Следующий сайт, который я нашел — это facegram.io [4].

Как я понял, facegram.io — это еще один Instagram Web Viewer. У сервиса около 50 000 подписчиков на Facebook, так что, думаю, его можно считать популярным.

Тут мы тоже ищем по хештегу #instagramapi [5] и вот результат:

Посмотреть изображение

image

Аналогично на странице пользователя [6].

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

Я пытался написать в Iconosquare и в поддержку нескольких других сайтов, но они никак не отреагировали. Может быть, кто-нибудь из вас сможет сообщить разработчикам этих сайтов об уязвимости.

P.S. Эта статья написана, чтобы сообщить разработчикам о том, что не стоить доверять полученным от Instagram API данным.

P.P.S. Аналогичная ситуация и с приложениями, использующими Facebook API. Вот пример [34].

Автор: JIenpukoH

Источник [35]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/81490

Ссылки в тексте:

[1] Iconosquare: http://iconosquare.com/

[2] #instagramapi: http://iconosquare.com/tag/instagramapi

[3] странице пользователя: http://iconosquare.com/asset_93

[4] facegram.io: http://facegram.io/

[5] #instagramapi: http://facegram.io/s/instagramapi/

[6] странице пользователя: http://facegram.io/u/asset_93&Asset-Mamyraimov&220257738

[7] iconosquare.com/p/783308509456027184_220257738: http://iconosquare.com/p/783308509456027184_220257738

[8] tagboard.com/instagramapi/search: https://tagboard.com/instagramapi/search

[9] pinsta.me/asset_93: http://pinsta.me/asset_93

[10] yooying.com/p/783308509456027184_220257738: http://yooying.com/p/783308509456027184_220257738

[11] instaliga.com/asset_93/783308509456027184_220257738: http://instaliga.com/asset_93/783308509456027184_220257738

[12] collec.to/i/783308509456027184_220257738: http://collec.to/i/783308509456027184_220257738

[13] songery.net/img/783308509456027184_220257738: http://songery.net/img/783308509456027184_220257738

[14] carouselle.me/#/by/asset_93: http://carouselle.me/#/by/asset_93

[15] picbi.com/asset_93: http://picbi.com/asset_93

[16] webgram.ru/p/asset_93/: http://webgram.ru/p/asset_93/

[17] twitnow.ru/instagram/u?q=220257738&u=asset_93: http://twitnow.ru/instagram/u?q=220257738&u=asset_93

[18] instagramsearchonline.com/tag/instagramapi/#.VL7H3EesXfI: http://instagramsearchonline.com/tag/instagramapi/#.VL7H3EesXfI

[19] japastagram.com/ph/?q=902278032086716165_220257738: http://japastagram.com/ph/?q=902278032086716165_220257738

[20] www.lakako.com/post/783308509456027184: http://www.lakako.com/post/783308509456027184

[21] pingram.me/asset_93: http://pingram.me/asset_93

[22] www.netstagram.com/user/220257738: http://www.netstagram.com/user/220257738

[23] tagstag.com/user/asset_93: http://tagstag.com/user/asset_93

[24] the-photo-flow.com/search.html?q=asset_93: http://the-photo-flow.com/search.html?q=asset_93

[25] instaprof.appspot.com/profile/asset_93: http://instaprof.appspot.com/profile/asset_93

[26] facegram.io/u/asset_93&script-alert-script&220257738: http://facegram.io/u/asset_93&script-alert-script&220257738

[27] instagramology.com/media/902278032086716165_220257738: http://instagramology.com/media/902278032086716165_220257738

[28] bitroad.net/u/asset_93&Asset-Mamyraimov: http://bitroad.net/u/asset_93&Asset-Mamyraimov

[29] sharetagram.com/user/220257738/asset_93: http://sharetagram.com/user/220257738/asset_93

[30] www.vinevideoviewer.com/u/220257738: http://www.vinevideoviewer.com/u/220257738

[31] techslides.com/demos/instagram-viewer/: http://techslides.com/demos/instagram-viewer/

[32] instaviewer.net/: http://instaviewer.net/

[33] findgram.com/: http://findgram.com/

[34] пример: http://everything.kz/test.html

[35] Источник: http://habrahabr.ru/post/249589/