Потыкался минут пять в DevTools, посмотрел стек безопасности. Делюсь по горячим следам.
Из хорошего: JSON-ы с текстом уроков (/content/<курс>/lessons/N.json) реально закрыты на бэке. 403 Forbidden, если курс не оплачен. То есть человек хотя бы какую-то проверку поставил, и на том спасибо.
Из плохого: mp4 того же самого платного урока и .vtt-субтитры лежат соседним каталогом и отдаются всем подряд статикой. Без единой проверки. Текст урока — сокровище за семью замками, а сам видеоролик — заходи кто хочешь. Логика безупречная. Блин.
Из совсем плохого: авторизация через Телеграм, user_id кладётся в cookie aa_uid. Без подписи. Конкретику блюрю, но суть простая: меняешь там одно число на чужое, и сервер радостно считает тебя владельцем чужой подписки. Telegram ID не секрет, ботов, которые резолвят username → id, гугл выдаёт пачкой. То есть для «входа под другим» нужен только ник того, кто реально занёс деньги.
Бонус-трек: paid-check.php на фронте — это вообще не проверка, а UI-декорация. В консоли пара строк, и на экране всё разлочено. Правда, как я выше писал, это даже не нужно: видео-то и так открыто.
Чинится за полдня и пару промтов:
cookie подписать HMAC'ом (или JWT, или серверная сессия), HttpOnly + Secure;
видео и субтитры отдавать через тот же gate, что и JSON-ы. А ещё лучше — signed URL с TTL минут пятнадцать;
paid-check.php оставить как есть, он и не должен быть барьером, он только для UX.
Автор, если читаешь, приходи в личку. Дам подробности с командами и респонсами, спокойно пофиксишь до того, как кому-нибудь прилетит идея написать это же самое, но без блюра. Это я еще не говорю о дыре в http2 которая позволяет в пару тыков потушить ваш сайт
Это не отменяет факта что у вас ведётся охота, что вы приходите под каждой статьей что то доказывать.
Вы ловко редактировали прошлую статью. Отредактировать картинки возможности у вас конечно же нет?
Мне писали о конкретных ошибках, я их исправлял.
Я не должен отключать подобный нейрослоп точечно, для этого есть соответствующие теги, которые я от вас и требую. Это вопрос банального уважения к читателям хабра.
Я вам уже все расписал и удивляюсь настойчивости. Пользователей я уважаю. Вы тут не обсуждать технические моменты статьи а , а за реакцией и мои вниманием, бумбурума я уже тегнул.
Отредактировать картинки возможности у вас конечно же нет?
Я писал «Будущие статьи будут с русифицированными схемами.» и это не означает что я буду в «попыхах» заниматься тем что менять во всех статьях картинки, лишь бы угодить вам.
Смотрите интересным вектором будет не имитировать видеонаблюдение, а в теории туннелировать траффик через настоящий клиент берём к примеру Reolink или Hikvision клиент, поднимаешь «камеру» которая стримит на твой сервер, внутри стрима несёшь данные и сеть видит настоящий Hikvision-трафик к настоящему IP Hikvision потому что первый хоп действительно туда идёт.
но я сейчас задумался надо тем что, мы не будем контролировать конечную точку ибо p2p будет подключаться к dev.hik-connect.com:8555, через их relay-сервер строится туннель до клиентского приложения. И так же сам протокол Hikvision SADP недостаточно задокументирован.
и учитывая это, уж будто проще траффик спрятать под WebRTC видеозвонок.
Каким образом reality решает проблему соответствия домена и ASN прокси?
Немного уточню: Reality закрывает именно активное зондирование. Зондировщик без shortId получает настоящий ответ от донора, он видит условных Microsoft или Apple с их же ASN,никакого несоответствия нет. Но если кто-то уже знает IP твоего VPS и пассивно наблюдает трафик и несоответствие между IP Hetzner и SNI эпла никуда не девается. Это реальное ограничение, да не расписал в статье – мой косяк. и хватит уже «детектировать» генеративный интеллект там где его нет. @Boomburum
иронично) но это так 😁
Однако. Беру на заметку
Потыкался минут пять в DevTools, посмотрел стек безопасности. Делюсь по горячим следам.
Из хорошего: JSON-ы с текстом уроков (
/content/<курс>/lessons/N.json) реально закрыты на бэке. 403 Forbidden, если курс не оплачен. То есть человек хотя бы какую-то проверку поставил, и на том спасибо.Из плохого: mp4 того же самого платного урока и
.vtt-субтитры лежат соседним каталогом и отдаются всем подряд статикой. Без единой проверки. Текст урока — сокровище за семью замками, а сам видеоролик — заходи кто хочешь. Логика безупречная. Блин.Из совсем плохого: авторизация через Телеграм,
user_idкладётся в cookieaa_uid. Без подписи. Конкретику блюрю, но суть простая: меняешь там одно число на чужое, и сервер радостно считает тебя владельцем чужой подписки. Telegram ID не секрет, ботов, которые резолвят username → id, гугл выдаёт пачкой. То есть для «входа под другим» нужен только ник того, кто реально занёс деньги.Бонус-трек:
paid-check.phpна фронте — это вообще не проверка, а UI-декорация. В консоли пара строк, и на экране всё разлочено. Правда, как я выше писал, это даже не нужно: видео-то и так открыто.Чинится за полдня и пару промтов:
cookie подписать HMAC'ом (или JWT, или серверная сессия), HttpOnly + Secure;
видео и субтитры отдавать через тот же gate, что и JSON-ы. А ещё лучше — signed URL с TTL минут пятнадцать;
paid-check.phpоставить как есть, он и не должен быть барьером, он только для UX.Автор, если читаешь, приходи в личку. Дам подробности с командами и респонсами, спокойно пофиксишь до того, как кому-нибудь прилетит идея написать это же самое, но без блюра.
Это я еще не говорю о дыре в http2 которая позволяет в пару тыков потушить ваш сайт
Всегда улыбал вайбкод и слепое доверие вайбкоду
Да там и с оплатой беды какие то)
Нет, а как владелец сервиса виноват что его хостинг AMAZON-02 заблокирован?
Да и оплатить у вас не выйдет все же
Слоп? ха-ха
Код мой, читать что? прям краснею
сейчас бы еще текст на 6 минут нейрослопить, где картинок больше чем текста
Благодарю.
Достаточно лишь входа через их мод :)
Конечно.
При чем тут иишки напрямую не понимаю, всю жизнь этот язык был понятен и удобен лично мне, JS у меня чисто для лендинга а дашборд на Vue.
Во всяком уже будто поздно переписывать бэкенд
Благодарю каждого за ваш комментарий! Буду изучать.
Тут уважаемый вы уже борщите – правда.
На самом деле, замечал что его тушат при большом трафике.
Но а если при стандартных скоростях и обему трафика — все в порядке.
Ну а вы тоже попробуйте обратный туннель через ssh, рабочая тема.
В него иногда заворачивают впн, но не часто.
Ответьте, пожалуйста — не надо это игнорировать уже второй раз.
Вы упускаете то что вам выгодно, в целом это и было с первых секунд понятно.
Тегнул его я чтобы он увидел, вы тэгнули мёртвый аккаунт.
Всё еще не понятно почему мы не обсуждаем саму тему статьи. Пишите буруму, я во всяком против толпы «ии детекторов»далеко не пройду.
Это не отменяет факта что у вас ведётся охота, что вы приходите под каждой статьей что то доказывать.
Мне писали о конкретных ошибках, я их исправлял.
Я вам уже все расписал и удивляюсь настойчивости. Пользователей я уважаю.
Вы тут не обсуждать технические моменты статьи а , а за реакцией и мои вниманием, бумбурума я уже тегнул.
Я писал «Будущие статьи будут с русифицированными схемами.» и это не означает что я буду в «попыхах» заниматься тем что менять во всех статьях картинки, лишь бы угодить вам.
https://habr.com/ru/articles/1009628/ – сюда тоже зайдите и напишите что нейрослоп. твщ тролль
Добавлю:
Почему вы не ответили на:
Я использую, https://labs.google/fx/ru/tools/flow
Хороший инструмент в правильных руках — возможно нужна подписка.
Смотрите интересным вектором будет не имитировать видеонаблюдение, а в теории туннелировать траффик через настоящий клиент берём к примеру Reolink или Hikvision клиент, поднимаешь «камеру» которая стримит на твой сервер, внутри стрима несёшь данные и сеть видит настоящий Hikvision-трафик к настоящему IP Hikvision потому что первый хоп действительно туда идёт.
но я сейчас задумался надо тем что, мы не будем контролировать конечную точку ибо p2p будет подключаться к dev.hik-connect.com:8555, через их relay-сервер строится туннель до клиентского приложения. И так же сам протокол Hikvision SADP недостаточно задокументирован.
и учитывая это, уж будто проще траффик спрятать под WebRTC видеозвонок.
У меня у самого внутри страны у знакомых самый простой wireguard, чувствует себя отлично.
Немного уточню: Reality закрывает именно активное зондирование. Зондировщик без shortId получает настоящий ответ от донора, он видит условных Microsoft или Apple с их же ASN,никакого несоответствия нет. Но если кто-то уже знает IP твоего VPS и пассивно наблюдает трафик и несоответствие между IP Hetzner и SNI эпла никуда не девается. Это реальное ограничение, да не расписал в статье – мой косяк.
и хватит уже «детектировать» генеративный интеллект там где его нет.
@Boomburum
Есть еще ряд идей как это можно реализовать, буду писать!