Началось всё с возникновения мысли о внутренностях, всем известного(как минимум в России), сайта vk.com. А именно, как извлечь необходимую мне информацию о женской части одного паблика, чтобы лицезреть лучшие из имеющихся у них в профиле фото на одной странице.
Идея проста как дверь ?— ?“либо тяни, либо толкай” (“либо действуй, либо забей”). Через api сайта запрашиваем массив подписчиков группы “Подслушано в *название университета*”, естественно, женского пола и определённого возраста. Перебираем все их фото, выбирая только ту, у которой самое большое число лайков. Дописываем в созданный .html полученную ссылку на изображение, обрамив его в ссылку на страницу обладательницы. И далее по кругу. Написание скрипта на python заняло порядка двух часов. С минимальными знаниями этого языка и нулевым vk.api.
Это занятие меня раззадорило не на шутку и после часа разглядывания результатов работы первого скрипта, я уселся за чтение документации api. Меня заинтересовало, как определяется анонимность новостей, опубликованных на стене той группы, которая молвит о безопасности всего и вся, что пишут пользователи. Благо, что разработчики позаботились об удобности тестирования работы методов в документации. Это заманчивое маленькое окошечко, которое в ответ на id человека может выдать тебе всю его информацию. Я без конца прыгал от метода к методу и громко стучал по клавиатуре, уже на автомате набирая на ней идентификаторы своей страницы и страницы паблика “Подслушано в *”.
Когда к подушечкам пальцев уже подступала боль, а каждое обновление экрана будто бросало песок в глаза, я понял, что изучение затянулось. Закрывая одну за одной вкладки в браузере, на каждой из которых был один из методов, взгляд зацепился за вывод простейшей функции wall.getById и наличие параметра extend, который:
1?—?возвращает объекты пользователей и групп, необходимые для отображения записей.
“Что же за объекты пользователей”?—?воскликнул я в ночи, разбудив соседа по комнате. Не задумываясь, копирую id первой записи со стены своей группы и вставляю в формочку для теста. На что получаю логичный ответ, что автором поста являюсь я.
profiles: [{
id: ...,
first_name: '...',
last_name: '..',
sex: 2,
screen_name: '...',
photo_50: 'https://pp.vk.me/...6/03x2dhL_vJw.jpg',
photo_100: 'https://pp.vk.me/...5/pS255B-FOptk.jpg',
online: 1
}],
groups: [{
id: ...,
name: '....',
screen_name: '...',
is_closed: 0,
type: 'page',
is_admin: 1,
admin_level: 3,
is_member: 1,
photo_50: 'https://pp.vk.me/...8/t4GsEl0iFqM.jpg',
photo_100: 'https://pp.vk.me/...7/bXGTWCaRZ7M.jpg',
photo_200: 'https://pp.vk.me/...6/8SV1UFhZI9A.jpg'
}]
Следующий идентификатор уже был взят со стены “анонимной” группы “Подслушано в *”. И первый же тест выдал id пользователя. Оставалось только выяснить какого, может это администратор, одобривший запись присланную через “Предложить новость” или же это вообще автор поста.
Три десятка последовательных запросов позволили окончательно убедиться, что авторы “анонимных” постов в “анонимных” группах лежат в открытом доступе и ничего не мешает написать простенький js-скрипт, который автоматически выдавал бы автора поста стандартными для vk стилями.
Чего я только не узнал об окружающих меня в университете людях. Ощущение эйфории от того, что я имею доступ к такой информации быстро сменилось на отвращение.
Я не раздумывая решил написать в поддержку, но по своей неопытности в баг-трекинге отправил запрос в обычную тех-поддержку, а не в техническую. Тем самым, я не получил должного ответа, а баг закрыли за час, в течении которого я страдал, но продолжал читать посты и видеть их авторов.
Я не знаю, сколько все это висело в открытом доступе до того как я нашел этот “баг”. Если размышлять логически, то этот запрос запросто мог работать неправильно со времен последнего обновления api. А это не так уж и мало. За это время можно было бы много дел наворотить. Теперь я точно уверен, что анонимности в вк быть не может. Даешь фейковые аккаунты с фейковыми друзьями и фейковыми эмоциями.
Добавлю предисловие к моему следующему посту. Меня на днях забанили в вк, но беда в том, что я не спамер, не фейк и не пользуюсь средствами для раскрутки. Прилетело мне следующее:
Бан за сообщение на стене моей группы, в которой на тот момент было 23 подписчика. Тег абсолютно свободный. Я решил сразу же отправиться в поддержку вк за объяснениями. На что они начали задавать вопросы в ответ на мои вопросы. До сих пор ожидаю ответа. Но они уже видимо задумались, как могла запись из маленького паблика попасть кому-то в раздел «Мои ответы»
Комментарии (14)
Kamikaze
13.04.2015 13:15+10Из злодейских способов применения, можно было влегкую уничтожить доверие аудитории ко всяким пабликам вида «подслушано» сделав выгрузку всех постов с последующим сопоставлением с профилем и выкладыванием в общий доступ. Это даже повеселее всяких дампов паролей от почты было бы.
NeoCode
13.04.2015 13:25+5Анонимность в ВК? Вы шутите?
Они с недавнего времени кстати стали из Тора выкидывать, приходится заходить с нового ip.
john_samilin
13.04.2015 17:53+1Давно хотелось узнать, почему агенты техподдержки так странно пишут. Что еще за «булочки с вашей головой»?
fshp
13.04.2015 18:12+1Как спросили у агента, так он и ответил.
А про булочки с головой что не понятно?
realscorp
14.04.2015 08:27+1Нормальные такие булочки с головой.x0wl
14.04.2015 09:56+1«С такой головой (интеллектом) как у вас, существуют другие способы заработать на булочки.»
john_samilin
14.04.2015 11:22А, в этом смысле! Спасибо, почему-то так и не смог считать эти коннотации. Надо больше спать
DjOnline
14.04.2015 00:40Последний абзац вообще непонятен.
vorphalack
14.04.2015 04:57про бан? есть ощущение что там происходит что-то сродни старой картинке про paypal — habrastorage.org/files/d1a/e75/99d/d1ae7599decf492284be36e5e7855505.png
(меня например разок забанили за «недобровольное вступление во встречу», спустя 2 дня после того как я посетил сам концерт, ну и понятное дело что вступал я добровольно.)
Viktor_P
14.04.2015 10:11Можно было бы вообще extention для браузеров накидать, который заменял бы автора на странице. Только жаль, что в таких случаях больше страдают не те, кто допустил оплошность, а те, кто пользуется их сервисами.
Palehin
У них даже есть форма на сайте, в разделе «Разработчикам», даже ничего писать не надо, можно прямо отуда работать — vk.com/dev/wall.getById
Правда в profiles[] уже ничего не выдает (если запись анонимная), видимо прикрыли.
x0m9k
Так в статье и написано, что баг пофиксили через час после того, как автор его зарепортил.
Palehin
Да да, написал, но только потом понял что я написал) Но изменить комментарий было уже поздно.