Здравствуйте, уважаемые посетители Хабрахабра.
Почти 2 месяца назад мной была найдена одна интересная уязвимость в сервисе Яндекс.Маркет, позволяющая удалять чужие комментарии. И это даже не банальная csrf, используя которую мы можем встроить на страницу фрейм, а после кинуть ссылку жертве, это было нечто более глобальное.
Кому интересно — добро пожаловать под кат.
Итак, раз уж вы сюда заглянули, то продолжим.
Сразу хочу сказать, что я, как добропорядочный пользователь, сразу сообщил об уязвимости в Яндекс, но спустя почти 2 месяца ответа так и не дождался.
В чём же заключается сама уязвимость?
Как я уже сказал — в удаление чужих комментариев к товару, а именно тех, что находятся во вкладке «Обсуждение». Соглашусь, это не отзывы, но порой информация из обсуждения бывает гораздо полезнее, а эксплуатируя данную уязвимость мы имеет все возможности удалить базу обсуждений полностью.
Как эксплуатировать?
Всё очень просто.
Для начала залогинимся под абсолютно любым аккаунтом. Возьмём любой товар. Перейдём на страницу с обсуждениями и получим id комментариев которые мы хотим удалить. Сделать это легко. Нажмём «Ссылка на это сообщение» (якорь рядом с комментом) и в конце URLa увидим милые циферки, например child-8-1155060. Далее вернёмся на страницу товара и оставим рандомный комментарий не несущий смысла, например «Привет, хабр». А после «проинспектируем» кнопку удаления.
Ну и думаю вам всё уже стало понятно. Подменяем child на чужой и спокойно жмём кнопку удаления. Либо выполняем напрямую данную JS функцию с нужным параметром.
Так же естественно можно сделать всё обычными пост-запросами, посланными на любом языке, автоматизировать и сделать многопоточную машину-убийцу и убить всю базу обсуждений, но лично я таких целей не преследую.
К чему эта статья, спросите вы? К тому что не стоит забывать о мелочах, они могут приносить немаленькие неприятности, такие как потеря мнения сотен тысяч пользователей, например.
Удачи.
Автор: tezmen