Маленькие уязвимости — большие последствия

от автора

Здравствуйте, уважаемые посетители Хабрахабра.
Почти 2 месяца назад мной была найдена одна интересная уязвимость в сервисе Яндекс.Маркет, позволяющая удалять чужие комментарии. И это даже не банальная csrf, используя которую мы можем встроить на страницу фрейм, а после кинуть ссылку жертве, это было нечто более глобальное.
Кому интересно — добро пожаловать под кат.

Итак, раз уж вы сюда заглянули, то продолжим.

Сразу хочу сказать, что я, как добропорядочный пользователь, сразу сообщил об уязвимости в Яндекс, но спустя почти 2 месяца ответа так и не дождался.

В чём же заключается сама уязвимость?

Как я уже сказал — в удаление чужих комментариев к товару, а именно тех, что находятся во вкладке «Обсуждение». Соглашусь, это не отзывы, но порой информация из обсуждения бывает гораздо полезнее, а эксплуатируя данную уязвимость мы имеет все возможности удалить базу обсуждений полностью.

Как эксплуатировать?

Всё очень просто.
Для начала залогинимся под абсолютно любым аккаунтон. Возьмём любой товар. Перейдём на страницу с обсуждениями и получим id комментариев которые мы хотим удалить. Сделать это легко. Нажмём «Ссылка на это сообщение» (якорь рядом с комментом) и в конце URLa увидим милые циферки, например child-8-1155060. Далее вернёмся на страницу товара и оставим рандомный комментарий не несущий смысла, например «Привет, хабр». А после «проинспектируем» кнопку удаления.

Ну и думаю вам всё уже стало понятно. Подменяем child на чужой и спокойно жмём кнопку удаления. Либо выполняем напрямую данную JS функцию с нужным параметром.
Так же естественно можно сделать всё обычными пост-запросами, посланными на любом языке, автоматизировать и сделать многопоточную машину-убийцу и убить всю базу обсуждений, но лично я таких целей не преследую.

К чему эта статья, спросите вы? К тому что не стоит забывать о мелочах, они могут приносить немаленькие неприятности, такие как потеря мнения сотен тысяч пользователей, например.

Удачи.

ссылка на оригинал статьи http://habrahabr.ru/post/163039/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *