Конкурс на поиск уязвимостей в Badoo, защита от CSRF

В марте Badoo анонсировала месяц поиска уязвимостей. Первые итоги можно посмотреть на хабре. Я не буду описывать все найденные уязвимости, т.к. ничего интересного там не было. Что бросается в глаза, если посмотреть список репортов, так это большой отрыв в количестве CSRF относительно других типов атак. Возможно, разработчики Badoo ранее не сталкивались с CSRF.

В своих итогах они пишут:

Уже через несколько дней после старта конкурса мы выложили ещё одну глобальную защиту: все веб-сервисы на авторизованной части сайта стали проверять наличие токенов в POST- или GET- запросах к ним. Этим фиксом мы закрыли большую часть CSRF-заявок.

Именно этой защите и посвящен пост. Я обнаружил 3 страницы (на самом деле их гораздо больше, но для репорта хватит и PoC), отдающих session id или CSRF token и позволяющих себя фреймить. Пример вектора атаки — с помощью соц. инженерии заманить пользователя на страницу, где в качестве капчи будет session id или CSRF token, и заставить пользователя отправить их атакующему. Делать content extraction для PoC было лень, да и view-source вроде уже почти везде закрыт, поэтому я ограничился только капчей. Если session id был длинноват для капчи, то токен вполне подходил — всего 6 символов.

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

Однако это уязвимостью не посчитали:

«юзера можно вынудить отдать rt и без фреймов-clickjacking’ов, тут мы, к сожалению, ничего поделать не сможем. «

Сейчас CSRF токен rt светится почти везде в URL на Badoo, не удивлюсь, если его можно сливать банально через referer, скинув ссылку в чате, например на картинку, свой сайт и т.п.

В итоге защиту от CSRF Badoo вроде и ввели, но как-то выборочно, без X-Frame-Options, и о безопасности токена не заботятся… Понять мотивы такого решения я не смог ;)

Из положительного этой bug bounty программы отмечу быструю скорость рассмотра заявок, оплаты и вообще качества информирования — табличка со статусами заявок порадовала. Это то, чего так не достает Яндексу ;)

Запись опубликована в рубрике bug bounty, Web Application Security с метками . Добавьте в закладки постоянную ссылку.

Один комментарий на «Конкурс на поиск уязвимостей в Badoo, защита от CSRF»

  1. oxdef говорит:

    Спасибо за небольшую критику — мы тоже ускоряемся =)

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

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