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

в 12:52, , рубрики: информационная безопасность, уязвимость, метки: ,

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

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

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

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

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

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

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

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

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

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

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

Удачи.

Автор: tezmen

Источник

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


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