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

в 9:23, , рубрики: Instagram API, xss, информационная безопасность

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

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

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

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

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

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

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

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

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

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

image

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

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

image

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

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

image

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

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

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

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

image

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

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

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

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

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

Автор: JIenpukoH

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js