HexBrain

VK.com · Report #250386

CSRF Проверить является ли пользователь админом группы.

Validstatus
$100bounty
17upvotes
14 Sept 2017disclosed

How it was found

Доброго времени суток. Нашел забавную вещь, которая позволит нам вычислить, является ли пользователь админом группы. Все дело в том, что ответ от запроса, который я привел ниже, будет закомментирован только тогда, когда пользователь будет являться админом группы, в другом же случае мы будем получать (!) ответ "Ошибка доступа". Таким образом мы можем отобразить ответ во фрейме на нашем сайте и, собственно, спросить пользователя. При этом он не будет знать, что мы его проверили.

Запрос который для меня выдает закомментированый ответ: https://vk.com/al_groups.php?act=to_public_box&al=1&gid=147481259 (группа в данном случае моя)

Запрос который выдает НЕзакомментированый ответ: https://vk.com/al_groups.php?act=to_public_box&al=1&gid=111 (группа в данном случае не моя)

Во фрейм, кстати, ответ изи подгружается.

Я накидал примерный вариант эксплуатации (нужен он только для того, чтобы продемонстрировать, что во фрейм все отлично подргружается): http://lincoln-shop.ru/ (если боитесь переходить на сайт, то скрины в описании)

История такая: пользователь заходит к нам на сайт, оставить отзыв/купить товар и т.д., мы спрашиваем у него подтверждение действия - ввод капчи. Но, блин, по случайным непредвиденным обстоятельствам наша лже-капча не подгружается. Мы, конечно же об этом знаем, и как тру-админы стараемся помочь пользователю, спросить что-же у него за проблема.

А варианта проблемы может быть два:

  1. Пишет "Ошибка доступа" - собственно пользователь не админ группы.
  2. Не пишет ничего - пользователь админ группы.

Пользователь выбирает радиобатон и кликает на кнопку отправить. В итоге у нас есть информация о статусе пользователя:)

Форму можно сделать лучше, я накидал ее за 5 минут. Можно вообще не оставить пользователю шансов уйти с нашего сайта без ответа.

Как исправить:

Тут варианта может быть 2

  1. Закомментировать ответ, как сделано во всех остальных скриптах.
  2. Добавить хэш, как требуют стандарты и википедия.

Вот, собственно, и все:) Вот такая CSRF. Скрины в описании.

С уважением vk.com/lc :)

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original