Многие продемонстрированные ссылки у вас работать не будут, т. к. они разные для всех.
Деанонимизация руководителей сообществ
Через видеозаписи
При ограниченном доступе добавлять новые видеозаписи могут только редакторы и администраторы сообщества.
На странице видеозаписей сообщества есть вкладка «Загруженные», в которой отображаются только видео, загруженные с компьютера. Если видеозаписи сообщества ограничены, то во вкладке «Загруженные» отображаются видеозаписи, которые загрузили руководители. Проблема в том, что прямые ссылки на видеозаписи содержат идентификатор загрузчика. Посмотрев идентификаторы можно деанонимизировать руководителей.
Пример на созданном сообществе: vk.com/club143400909

Вытягиваем прямую ссылку или hls-поток на видеозапись: vk.com/video-143400909_456239017
Прямая ссылка: cs632300.userapi.com/4/u237115941/videos/5115525024.240.mp4
Hls-поток: cs632300.userapi.com/video/hls/4/u237115941/videos/5115525024/index-f1-v1-a1.m3u8
Видим, что руководитель — vk.com/id237115941
Пример на сообществе: vk.com/meduzaproject (они разрешили)
Видеозапись: vk.com/video-76982440_456239236
Прямая ссылка: cs632603.userapi.com/1/u1564856/videos/84c5da2b5a.240.mp4
Руководитель: vk.com/id1564856
Видеозапись: vk.com/video-76982440_456239231
Прямая ссылка: cs632606.userapi.com/3/u464017/videos/7ec04da5ac.240.mp4
Руководитель: vk.com/id464017
Всего по всем видеозаписям было найдено 4 руководителя
Также есть возможность деанонимизировать руководителя по обложке от видео с другого источника (youtube, rutube и др.). В ссылке на обложку содержится идентификатор первого загрузчика этого видео на vk.com, т. е. этим способом можно деанонимизировать только зная, что видео загрузил руководитель и он был первый. Это может быть результат конкурса или что-то еще.
Видео: vk.com/video-143400909_456239018
Ссылка на обложку: pp.userapi.com/c836123/u237115941/video/l_5881cb5e.jpg
Видим, что руководитель vk.com/id237115941
Через аудиозаписи
Проблема в том же. Прямая ссылка на аудиозапись содержит идентификатор загрузчика. Нигде не отображается, добавлена аудиозапись из поиска или загружена с компьютера, поэтому этим способом можно деанонимизировать только зная, что аудиозапись загрузил руководитель. Такие аудиозаписи могут выделяться (запись эфира с радио и т. п.).
Аудиозапись в сообществе vk.com/club143400909: Мелодии – Карело-финская полька
Прямая ссылка: psv4.userapi.com/c815220/u237115941/audios/eb9137fb510b.mp3
Видим, что руководитель vk.com/id237115941
Пример на сообществе vk.com/meduzaproject
Аудиозапись: «Медуза» – Как узнать, сколько стоят «фужеры» Собянина?
Прямая ссылка: psv4.userapi.com/c613316/u1564856/audios/1cb08ff13792.mp3
Руководитель: vk.com/id1564856
Через документы
Прямая ссылка на документ содержит идентификатор загрузчика. Зная, что документ загрузил руководитель можно деанонимизировать. Многие загружают информацию о проводимых конкурсах, правила группы.
Пример на созданном сообществе vk.com/club143400909
Документ: 1.ts
Прямая ссылка: cs7064.userapi.com/c812339/u237115941/docs/c134bbccadba/1.ts
Если документ является изображением, то можно деанонимизировать по маленькой копии.
Документ: G.png
Ссылка на маленькую копию: pp.userapi.com/c812235/u237115941/-3/m_56c1679b77.jpg
Видим, что руководитель vk.com/id237115941
По концу идентификатора
Этот способ можно комбинировать с другими способами. Прямая ссылка на загруженное изображение содержит конец идентификатора загрузчика. Можно получить список всех участников сообщества и отобрать тех, у кого конец совпадает. Если сообщество маленькое, то скорее всего в результате будет 1 страница, если большое, то несколько, но там точно будет руководитель. Также можно деанонимизировать автора записи, если в записи есть загруженное изображение. Если сообщество большое и в результате отбора много идентификаторов, то можно получить список нажавших «мне нравится» записи и отобрать (вдруг автор нажал).
Прямая ссылка на фотографию группы: pp.userapi.com/c836123/v836123941/2362f/5TA-jc1s8Q0.jpg
Конец идентификатора: 941
Руководитель сообщества vk.com/id237115941
Прямая ссылка на обложку сообщества vk.com/meduzaproject:
cs7064.userapi.com/c639129/v639129017/92f9/itZoAG-k1GQ.jpg
Конец идентификатора: 017
Руководитель: vk.com/id464017
Деанонимизация главного администратора приложения
В настройках приложения можно загружать иконку приложения 16x16, которая после загрузки получает ссылку, в которой присутствует идентификатор страницы администратора. В ссылке на иконку всегда отображается идентификатор главного администратора, даже если иконку загрузил неглавный администратор, а другой пользователь-руководитель с правами. Также раскрыв администратора приложения, вы еще раскрываете руководителя сообщества приложения, т. к. группу в настройках приложения можно установить, если являешься в ней руководителем.
Ссылка: pp.userapi.com/cЦифры/uИдентификатор_администратора/имя.gif
Комментарии (26)
shurupkirov
06.04.2017 15:29+1Вопрос: зачем?
- Контакты многих сообществ — это и есть модераторы и редакторы
- Писать им в личку про рекламу? Будет бан
LoadRunner
06.04.2017 16:09Есть приватные группы, например. Не вступая в такие, доступна часть информации — обложка группы. А уж блок руководителей точно не виден.
А есть группы, где руководители и модераторский состав нарочно скрывают.Dageron
06.04.2017 16:13Неумные руководители и модераторы значит. Сферу профессиональной деятельности (страница «администрирование сообществ») и личной жизни (страница «с друзьями-родственниками») следует разделять. Аналогично, личную «леха777.мейл.ру» почту использовать для корпоративных нужд выглядело бы очень и очень странным явлением.
amarao
07.04.2017 14:09В среде админов вполне принято использовать личные email'ы для технических вопросов. Потому что работодатель меняется (вместе с емейлом), а техпроблемы остаются. Если видишь емейл человека в коммите или в whois, то с ним можно связаться и спросить «зачем так». А если там va_pupkin@company.com, то найти этого человека потом почти невозможно.
Dageron
07.04.2017 15:01Но ведь менеджерам и другим сотрудникам очень часто выдают корпоративные почтовые ящики на домене компании. После увольнения, обычно поступившую на них корреспонденцию редиректят на адрес нового сотрудника.
amarao
07.04.2017 15:40Ага. И вот получает новый сотрудник вопрос:
«Привет, я по поводу твоего коммита в foobar-esoteric, 184c9400855. Ты там явно мог бы использовать матричную параметризацию теста (тесты выше и ниже её используют), но в этом случае ты зачем-то используешь полиморфную фикстуру, которая вместо того, чтобы манкипатчить сокет через httpretty, зачем-то поднимает реальный веб-сервер. Зачем это?».
И вот «новый сотрудник» отвечает «а я новый сотрудник и я в душе не люблю что тут написано».
А если бы был персональный емейл, ответ был бы: «потому что когда я попробовал использовать обычный подход с кассетами оно выдавало false positive из-за того, что в сертификате фигурирует сегодняшняя дата, а в кассете записано то, что было в момент написания, но в какой-то момент протухает, и всё ломается. Так что вместо того, чтобы писать простыню патчинга сертификатов, я просто поднимаю на lo сервер, который внутри использует ту же кассету, но записанную по http, а все ssl-детальки берутся в райнтайме и всегда валидны».
Почувствуте разницу.
И этот вопрос может возникнуть не только у посторонних людей, но и у (бывших) коллег сотрудника.
Да, корпоративные фрики скажут, что это нельзя и всё плохо, но технарям так удобнее и эффективнее.Dageron
09.04.2017 12:39Все это конечно так и наверняка вы правы (в моем сообщении не было оценочных суждений, я описал лишь «как оно есть»)
shurupkirov
06.04.2017 16:21Ааа, понятно.
Такой вариант я не предусмотрел. Я не думаю, что это может быть интересно обычному пользователю.
Только органам, сыщикам и кул-хацкерам, т.е. я не назвал бы это уязвимостью анонимности. Анонимности не существует %-)
wildraid
06.04.2017 16:33+1Не знаю, как сейчас, а не так давно можно было сравнительно легко деанонимизировать и авторов анонимных постов с картинками.
В URL картинки была часть, которая указывала на три последних цифры ID пользователя. Далее мы через API выбираем всех подписчиков паблика, фильтруем их по этим цифрам, по полу и примерно возрасту. Далее сортируем оставшихся по дате последнего появления в онлайне.
Как правило, один из первых юзеров в списке и есть наш искомый автор. У меня где-то даже скрипт лежал, который автоматизировал весь процесс.Dageron
06.04.2017 17:00+1Самое забавное: администратор сообщества при осуществлении процедуры администрирования не обязан в нем состоять.
McDermott
07.04.2017 14:32Как вы получали прямые ссылки на видео- и аудиозаписи, если не секрет? Попробовал просматривать код страницы и не нашел.
red_lobster
07.04.2017 14:38Смотри код к определенной видеозаписи(view-source:https://vk.com/video-143400909_456239017) и ищи там mp4 или смотри запросы, которые браузер отправил при просмотре или прослушивании.
Dageron
09.04.2017 12:40Еще можно через VK API, если представиться официальным приложением любой платформы (ключи от них давно гуляют по сети, да и легко вытаскиваются из пакетов).
povargek
07.04.2017 14:46То есть, они сначала поставили репорту статус Traiged, а через 6 месяцев сказали такое не примут?
red_lobster
07.04.2017 14:48+1Да, передумали.
Медиаконтент может быть добавлен через поиск или подгружен по прямой ссылке — в таком случае отобразится id пользователя, никак не связанного с руководителями сообщества. Мы не считаем это уязвимостью.
Occama
07.04.2017 16:48Я правильно понимаю, что в случае, если видео загружено анонимно от имени группы, то при его открытии под ним будет указано само сообщество, а в случае, если было добавлено через поиск — человек/сообщество, которые его загрузили изначально? То есть, в случае с видео, таким образом получится фильтровать те видео, которые были действительно загружены администраторами?
red_lobster
07.04.2017 16:49Я не помню почему, но я думал, что после загрузки видео в сообщество от подписчика в отправителе должно отображаться сообщество, а не подписчик, поэтому я сделал уточнение про ограничение на загрузку. Сейчас проверил, в отправителе отображается подписчик.
Выходит, если в отправителе сообщество, то видеозапись загрузил руководитель.
TRiden
07.04.2017 14:52+1Мне ваша статься помогла, еее.) Я 4 года пытался узнать админа одного паблика.)) Хоть я давно работаю с апи, про последние 3 цифры не знал раньше.
w9w
07.04.2017 20:17+1У меня была похожая история https://habrahabr.ru/post/320408/.
В очередной раз убеждаюсь, что баг баунти vk нужно обходить стороной и не тратить время на поиск уязвимостей vk.com.red_lobster
08.04.2017 01:30-1Насчет тратить или не тратить время не знаю. Если проблема серьезная, то ее быстро исправят и отблагодарят. Мне за эти закрытые репорты не обидно, т. к. их не стали исправлять.
Один раз было обидно. Была возможность просмотреть на старых страницах полный email адрес, который в настройках скрыт, если к странице был получен доступ. В итоге проблему устранили, а мне ответили:
Это контактный email, который раньше выводился в открытом виде в профилях.
На моей странице и на странице моего друга контактный email совпал с email адресом, который скрыт в настройках. И я уверен многие указывали email адрес, на котором зарегистрирована страница как контактный.
http://www.pskov.aif.ru/society/education/755810, если бы руферы знали о проблеме, то они бы возможно узнали email адрес Дурова.
ErhoSen
09.04.2017 18:03+1После долгого перерыва снова приветствуем сообщество Хабра в возрождённом блоге ВКонтакте и будем рады обратной связи. #324722
Прекрасный пример обратной связи от сообщество Хабра. Ожидаем теперь обратной связи от вас, apiwoman
Читаю уже третью статью из этой серии(#320408 , #274215), и у меня возникает вопрос, — вам вообще нужен BugBounty?
aol-nnov
правильно я понимаю, что:
да? :) можно приступать к написанию статьи?
P.S.: я не особо пользователь вконтакте
Dageron
По сути история это боян бояном. Ну и яркий пример фразеологизма «не баг, а фича» (странно, что на hackerone тикет вообще не удалили сразу, как несущественный).
Имхо, глупо ожидать какой-либо анонимности от веб-ресурса, позиционирующего себя как «соцсеть». Скрытые фото, скрытые друзья, настройки приватности и прочее прочее… Используя одни лишь фичи, можно тех же «скрытых друзей» открыть при минимальном времени, затраченном на аналитику.
Что же касается администраторов и модераторов сообществ, так руководство большинства более-менее «прошаренных» групп уже давно эту тему знают и, в случае критичности факта персонализированния, используют отдельные страницы для соответствующей работы.
TimsTims
Здесь речь не об анонимности, а о том, что во ВКонтакте есть настройки приватности от обычных юзеров (не МВД/ФСБ и не администратор ВКонтакте). А по сути эта фича не работает, ТК можно посмотреть ИД и найти пользователя.
MalHira
Там много чего есть… например «возможность» скрывать свою д.р. на странице…
Вот только эта информацияо д.р. до сих пор вычисляется через поиск людей…