15.04.2020, 04:35
|
Новичок на форуме
|
|
Регистрация: 15.04.2020
Сообщений: 4
|
|
Понять как генерируется адрес ссылки
Здравствуйте. Помоги разобраться что называется "откуда ноги ростут" Есть страничка https://www.twitch.tv/ctasdasd (вообще любой канал на твиче в режиме трнсляции LIVE) эта страница при просмотре видео отправляет ч-з какой-то не понятный мне скрипт данные вот сюда https://video-edge-0ff65e.pdx01.abs....LABLABLABLA.ts (где словом BLA я заменил исходные данные, т.к. не понимаю какая информация о моём аккаунте содержится в этих зашифрованных данных)
Я с charles web debugging proxy вдоль и поперек облазил все соединения и загрузки с начала открытия этой страницы. В отладчике в опере (ктрл+шифт+ай)искал хоть намек на адрес 0ff65e.pdx01.abs.hls.ttvnw.net - не нашёл ниче путнего кроме этого (см. аттач). Помогите разобраться каким участком когда генерируется URL https://video-edge-0ff65e.pdx01.abs.hls.ttvnw.net и в каком формате и что за данные закодированы данные у её patch /v1/segment/Cv0WFNu_LYY-
PS: Обращаю ваше внимание на то, что сайт работает с 2-мя очень похожими доменами:
https://video-edge-0ff65e.pdx01.abs.hls.ttvnw.net - нужный мне домен, сюда передаётся информация.
https://video-edge-c55498.fra02.abs.hls.ttvnw.net - patch до файла такой же как и у верхней ссылке, но по этому адресу подгружается видео при просмотре стрима. Он меня не интересует в данный момент
Последний раз редактировалось Foster08, 15.04.2020 в 04:58.
Причина: см. PS:
|
|
15.04.2020, 04:37
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сервер получает параметр запроса и делает перенаправление с учетом если запрос "легален".
|
|
15.04.2020, 04:44
|
Новичок на форуме
|
|
Регистрация: 15.04.2020
Сообщений: 4
|
|
Здравствуйте. Пожалуйста, добавьте в свой ответ больше материального смысла а не теории (конкретные выдержки из кода или http пакеты). Я не нашёл в исходном коде информации о переменных и функции которая генерирует этот УРЛ.
Последний раз редактировалось Foster08, 15.04.2020 в 04:46.
|
|
15.04.2020, 04:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Да нет никакой теории здесь. Допустим, сервер будет отдавать картинку по запросу с неким параметром, которая находится по адресу "А". Если обратиться напрямую по этому адресу, то сервер определит, что запрос не содержит параметра и выдаст статус 404. А вот запрос с параметром сервер проанализирует и перенаправит пользователя на адрес "А" и он таки получит эту картинку.
Если при этом запросе проанализировать заголовки сервера, то это перенаправление в них будет отражено.
|
|
15.04.2020, 05:04
|
Новичок на форуме
|
|
Регистрация: 15.04.2020
Сообщений: 4
|
|
Вы не совсем верно поняли то, о чем я спрашиваю Смотрите, меня не интересует вопрос валидации получаемой \ передаваемой информации. Меня интересует где в исходниках скриптов на данной странице содержится javascript-код который генерирует урл https://video-edge-0ff65e.pdx01.abs....LABLABLABLA.ts т.к. я тупо снифером смотрел все пакеты и не нашёл в body request / response ни намека на video-edge-0ff65e.pdx01.abs.hls.ttvnw.net
Просьба: Ткните меня пожалуйста носом, на участок кода который генерирует ссылку выше, т.к. в открытом виде в http(s), WebSocket - пакетах её нет!
|
|
15.04.2020, 05:15
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Foster08
|
Меня интересует где в исходниках скриптов на данной странице содержится javascript-код который генерирует урл
|
Нигде, этого и не нужно, то есть, если сервер отдает некий контент по условию, то "прятать ключи" этих условий на клиенте нет смысла.
Сервер может отдавать содержимое из закрытого от прямого доступа каталога. Только сервер с его правами может получить эти данные и отдать клиенту. При этом есть несколько способов, например:
1) сформировать прямую временную ссылку, которая будет недействительна по истечению времени Т.
2) считать содержимое в память и отдать клиенту программно.
3) перенаправить клиента по адресу.
Я не знаю на чем работает интересующий вас сервер, но в случае РНР, например, по адресу domain/abc производится запрос с параметром abc. Сервер анализирует именно параметр запрос (abc), если все ОК, то перенаправляет клиента на адрес domain/kino.mp4
header('Location: domain/kino.mp4')
и до этого момента клиент вообще не подозревает о существовании такого адреса. Вообще механизмов (способов) такого обмена множество.
Последний раз редактировалось laimas, 15.04.2020 в 05:17.
|
|
15.04.2020, 05:28
|
Новичок на форуме
|
|
Регистрация: 15.04.2020
Сообщений: 4
|
|
Извините, возможно я для вас глупость сейчас скажу, но я пытаюсь провести что-то наподобие реверс инжиниринга. Нигде в перехваченных снифером пакетах (а они не зашифрованы и для моего анализа предстают в открытом читаемом виде) нет информации ни в открытом ни в зашифрованном виде о функции или данных из которых получается интересующая меня ссылка. В моём случае нет никакого редиректа ч-з хидер http или что-то похожего.
Ответ по вашим предложениям:
1)Интересующая меня ссылка нигде не фигурирует в response сервера.
2)Не понял если честно.
3)Опять же говорю, ссылка "собирается" на стороне клиента. В отладчике браузера я нашёл фрагмент кода (см. скрин) который возможно генерирует интересующую меня ссылку, но понять из каких переменных (и что за данные содержатся в этих переменных) эта функция конструирует интересующую меня ссылку мне не удалось.
Последний раз редактировалось Foster08, 15.04.2020 в 05:31.
|
|
15.04.2020, 05:36
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Foster08
|
Интересующая меня ссылка нигде не фигурирует в response сервера.
|
Анализировать нужно не тело ответа, а заголовки, и если в данном случае действует механизм перенаправления, то заголовки, которые отдает сервер, это обязательно отразят - статус и адрес.
Сообщение от Foster08
|
Опять же говорю, ссылка "собирается" на стороне клиента
|
Вы уверены в этом? Если да, то в отладчике анализ запроса покажет таковую. Клиент конечно может и формировать некие параметры запроса, а вот что за этими параметрами скрывается (данные или реальные адреса) клиенту знать и не обязательно, а может быть и нельзя.
Сообщение от Foster08
|
Не понял если честно
|
Есть каталог, прямой доступ к которому запрещен, то есть на такую попытку север вернет статус 403. А программно, это - сервер считывает в память (буфер), из которого затем отдает клиенту. Я могу и код такового механизма показать, но думаю, что смысла в этом нет. А с таким явлением (механизмом) в сети, я уверен, вы сталкивались, и не раз.
Последний раз редактировалось laimas, 15.04.2020 в 05:40.
|
|
|
|