• XSS.stack #1 – первый литературный журнал от юзеров форума

Получаем имя пользователя Vk по номеру телефона на Python

kll111

floppy-диск
Пользователь
Регистрация
27.07.2023
Сообщения
5
Реакции
4
Всем привет! Сегодня рассмотрим небольшой скрипт на Python, с помощью которого можем автоматизировать процесс получения имени и фамилии пользователя ВК по номеру телефона. Для этого нам нужен аккаунт ВК, в котором активирован услуга Vk Pay.

Заходим в Карты VK Pay, нажимаем Перевести, По номеру телефона, вводим любой номер на который зарегистрирован аккаунт VK, нажимаем Далее, и получаем имю и фамилию пользователя. При этом смотрим, какие запросы шлет браузер на сервер, где расположен API.


Как видим, браузер сделал POST запрос на uri https://api.vkpay.io/visa-alias/p2p/options, отправив при этом номер телефона как json {"phone":"+7 914 988-43-45"}.

Нам остается посмотреть что еще шлет браузер в headers.

Недолго думая, пишем такой вот скрипт на питоне.


Python:
import requests




headers ={


     "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101    Firefox/103.0",


       "Accept": "application/json, text/plain, */*",


       "Accept-Language": "en-US,en;q=0.5",


       "Accept-Encoding": "gzip, deflate, br",


       "Content-Type": "application/json",


       "X-App-Params":   '{"vk_access_token_settings":"notify,friends,groups","vk_app_id":"71876443","vk_are_notifications_enabled":"0","vk_experiment":"eyIxNjE4Ijdfhf","vk_is_app_user":"1","vk_is_favorite":"0","vk_language":"ru","vk_platform":"desktop_web","vk_ref":"other","vk_ts":"1660982198","vk_user_id":"745256811","sign":"Y_6dfrtO4vnQl_qiTM2oiy-kONE20qaMq3V0qPBLxW-I"}',


       "X-VKPAY-SESSIONID": "1N_q-5uytr",


       "X-VKPAY-PLATFORM": "web",


       "X-VK-Id": "745256811",


       "X-VK-Hash": "fa0411fgrt0e0cf",


       "X-VKApp-Token": "b7724b50-30ee-4df0-9ce7-f9b7a62644c6",


       "X-VKPAY-VERSION": "2.0.0",


       "X-MT-LVID": "e66f55d259jfhfkglf41e000dab3046d24",


       "Content-Length": "28",


       "Origin": "https://ea-miniapp.vkpay.io",


       "Connection": "keep-alive",


       "Referer": "https://ea-miniapp.vkpay.io/",


       "Cookie": "_ga_R11HGFJPN3=GS1.1.1660982198.8.1.1660982282.51.0.0; _ga=GA1.1.1374728327.1657923647; tmr_reqNum=69; tmr_lvid=e66f5yfj76864c84f41e000dab3046d24; tmr_lvidTS=1657923646842",


       'Sec-Fetch-Dest': "empty",


       'Sec-Fetch-Mode': "cors",


       'Sec-Fetch-Site': "same-site"


}






def get_name_from_vk(number):


    url = "https://api.vkpay.io/visa-alias/p2p/options"


    res = requests.post(url, headers=headers, json={"phone": number})


    name = res.json()['additional_data']['user_name']


    return name




if __name__ == '__main__:


    print(get_name_from_vk('79149884345')

Вот и все!
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх