Привет! Я человек. Человек, которому интересно, как работает то, чем он пользуется чаще одного раза в день. И если в функциональности найден изъян, не поделиться с кем-то этим я не могу. Банально не хватает терпения сдерживать в себе информацию, которая может оказаться полезной некой категории людей, имеющих возможность извлечь из неё выгоду и поделиться со мной знанием, как такие знания использовать.
Началось всё с возникновения мысли о внутренностях, всем известного(как минимум в России), сайта vk.com. А именно, как извлечь необходимую мне информацию о женской части одного паблика, чтобы лицезреть лучшие из имеющихся у них в профиле фото на одной странице.
Идея проста как дверь — “либо тяни, либо толкай” (“либо действуй, либо забей”). Через api сайта запрашиваем массив подписчиков группы “Подслушано в *название университета*”, естественно, женского пола и определённого возраста. Перебираем все их фото, выбирая только ту, у которой самое большое число лайков. Дописываем в созданный .html полученную ссылку на изображение, обрамив его в ссылку на страницу обладательницы. И далее по кругу. Написание скрипта на python заняло порядка двух часов. С минимальными знаниями этого языка и нулевым vk.api.
Это занятие меня раззадорило не на шутку и после часа разглядывания результатов работы первого скрипта, я уселся за чтение документации api. Меня заинтересовало, как определяется анонимность новостей, опубликованных на стене той группы, которая молвит о безопасности всего и вся, что пишут пользователи. Благо, что разработчики позаботились об удобности тестирования работы методов в документации. Это заманчивое маленькое окошечко, которое в ответ на id человека может выдать тебе всю его информацию. Я без конца прыгал от метода к методу и громко стучал по клавиатуре, уже на автомате набирая на ней идентификаторы своей страницы и страницы паблика “Подслушано в *”.
Когда к подушечкам пальцев уже подступала боль, а каждое обновление экрана будто бросало песок в глаза, я понял, что изучение затянулось. Закрывая одну за одной вкладки в браузере, на каждой из которых был один из методов, взгляд зацепился за вывод простейшей функции wall.getById и наличие параметра extend, который:
“Что же за объекты пользователей” — воскликнул я в ночи, разбудив соседа по комнате. Не задумываясь, копирую id первой записи со стены своей группы и вставляю в формочку для теста. На что получаю логичный ответ, что автором поста являюсь я.
Следующий идентификатор уже был взят со стены “анонимной” группы “Подслушано в *”. И первый же тест выдал id пользователя. Оставалось только выяснить какого, может это администратор, одобривший запись присланную через “Предложить новость” или же это вообще автор поста.
Три десятка последовательных запросов позволили окончательно убедиться, что авторы “анонимных” постов в “анонимных” группах лежат в открытом доступе и ничего не мешает написать простенький js-скрипт, который автоматически выдавал бы автора поста стандартными для vk стилями.
Чего я только не узнал об окружающих меня в университете людях. Ощущение эйфории от того, что я имею доступ к такой информации быстро сменилось на отвращение.
Я не раздумывая решил написать в поддержку, но по своей неопытности в баг-трекинге отправил запрос в обычную тех-поддержку, а не в техническую. Тем самым, я не получил должного ответа, а баг закрыли за час, в течении которого я страдал, но продолжал читать посты и видеть их авторов.
![image](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/ab6/e17/ea0/ab6e17ea0de2d8b0768a4f3315f1da23.png)
Я не знаю, сколько все это висело в открытом доступе до того как я нашел этот “баг”. Если размышлять логически, то этот запрос запросто мог работать неправильно со времен последнего обновления api. А это не так уж и мало. За это время можно было бы много дел наворотить. Теперь я точно уверен, что анонимности в вк быть не может. Даешь фейковые аккаунты с фейковыми друзьями и фейковыми эмоциями.
Добавлю предисловие к моему следующему посту. Меня на днях забанили в вк, но беда в том, что я не спамер, не фейк и не пользуюсь средствами для раскрутки. Прилетело мне следующее:
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/d4e/b25/b3a/d4eb25b3a478bdbecd6b59e47b5c97d3.jpg)
Бан за сообщение на стене моей группы, в которой на тот момент было 23 подписчика. Тег абсолютно свободный. Я решил сразу же отправиться в поддержку вк за объяснениями. На что они начали задавать вопросы в ответ на мои вопросы. До сих пор ожидаю ответа. Но они уже видимо задумались, как могла запись из маленького паблика попасть кому-то в раздел «Мои ответы»
Началось всё с возникновения мысли о внутренностях, всем известного(как минимум в России), сайта 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 стилями.
Чего я только не узнал об окружающих меня в университете людях. Ощущение эйфории от того, что я имею доступ к такой информации быстро сменилось на отвращение.
Я не раздумывая решил написать в поддержку, но по своей неопытности в баг-трекинге отправил запрос в обычную тех-поддержку, а не в техническую. Тем самым, я не получил должного ответа, а баг закрыли за час, в течении которого я страдал, но продолжал читать посты и видеть их авторов.
![image](https://habrastorage.org/getpro/geektimes/post_images/ab6/e17/ea0/ab6e17ea0de2d8b0768a4f3315f1da23.png)
Я не знаю, сколько все это висело в открытом доступе до того как я нашел этот “баг”. Если размышлять логически, то этот запрос запросто мог работать неправильно со времен последнего обновления api. А это не так уж и мало. За это время можно было бы много дел наворотить. Теперь я точно уверен, что анонимности в вк быть не может. Даешь фейковые аккаунты с фейковыми друзьями и фейковыми эмоциями.
Добавлю предисловие к моему следующему посту. Меня на днях забанили в вк, но беда в том, что я не спамер, не фейк и не пользуюсь средствами для раскрутки. Прилетело мне следующее:
![image](https://habrastorage.org/getpro/geektimes/post_images/d4e/b25/b3a/d4eb25b3a478bdbecd6b59e47b5c97d3.jpg)
Бан за сообщение на стене моей группы, в которой на тот момент было 23 подписчика. Тег абсолютно свободный. Я решил сразу же отправиться в поддержку вк за объяснениями. На что они начали задавать вопросы в ответ на мои вопросы. До сих пор ожидаю ответа. Но они уже видимо задумались, как могла запись из маленького паблика попасть кому-то в раздел «Мои ответы»