У нас будет очень удаленный и очень близкий табальчик.
Многие его знают.
Всем привет!
Это самая красивая презентация.
Это просят меня другие табальчики.
И что мне нравится, тут веб-хайкинг сочетается с математикой.
И то и другое. Я не вижу, но все его сочетается.
Да, всем привет, добро пожаловать. Мы не виделись. Собственно, кто не знает, я занимаюсь безопасностью, работаю сейчас как критинером, секретарь и ресерчер на этой телеграмме.
и также нахожусь в габарнии, таким образом мы делаем эту презентацию, эту конференцию международной,
на международной конференции я просто позвоню.
Презентация не по мне, она в одну страну есть.
А что мне это?
Мне дали приложение на анализ.
Само собой в лучших традициях веба приложение BlackVox под трафиком, никаких стейджей, ничего,
но хотя бы могу зарегистрировать себя.
Учеток тоже мне дали.
И не важно как, но я нашел там аккаунт рекорда.
Соответственно, я зарегал.
Ну, чертку вторую, сделал с одной и с другой
определенной манипуляцией.
Да, пришел.
Теперь следующий вопрос.
Нужно как-то получить
регулированный аккаунт.
А как его получить?
Ну, давайте рассмотрим хотя бы чуть-чуть,
что вообще за приложение.
NextOS написан, соответственно, на фронте реакт,
на бэке Next.
Какие зародки мы знаем, может регистрироваться,
как уже сказал, нужно получить информацию
о себе.
И, в общем-то, соответственно, у нас есть что-то типа
АПИ. Логичный вопрос,
помогу ли я грудь
АПИ. Мне ответили,
нет, максимум ты можешь
два потока с
секундной задержки между
восьмию и полуночью, где-то вечером
в грудь, ну, соответственно,
невероятно.
Что мы можем еще сделать?
Мы можем пойти анализировать статические файлы, может быть, мы там что-то найдем.
Что-то нашел, но как бы не совсем полезное.
В общем-то, узнал немножечко больше о приложении.
Можем использовать Google Дорки, может быть, они нам как-то подскажут.
Приложения довольно новые, не прииндексированные флотки, в общем-то нет.
Можно попросить Флода пойти поискать кто не знает что.
Ну как бы удалось. Можно еще попробовать использовать какие-то auto-development мышления.
Вот, собственно, я решил попробовать последний вариант.
Как я уже сказал, на JS, там есть такая штука, вилкомминтез.
Я думаю, все абсолютно знают и видели такой файл.
Там может быть какие-то роты, какие-то правила, какие-то фильтры для ротинга в том числе.
И, в общем, он всегда находится на underscore next static build.id build.js.
Я сделал запрос, пришел в него, и смотрю, ну, в общем-то, вот, есть он, какой-то такой файл,
только почему-то root я там никаких не вижу.
Я вижу, что там есть root, фильтр static, и он большой.
И там много букв E и R.
Я подумал, что если E это 6, а R это 7, то как бы это все вообще на своих местах.
Но оказалось, что нет, e равно единице, e равно n.
И дальше я полез поискать немножечко его коде Next, что вообще это такое, где такая структура встречается.
Нашел, что есть такая штука, называется blue filter.
Он использует под собой норбл хэш, и из-за того, что нам нужно,
что там есть какое-то количество айтемов, есть какой-то RR-Ray,
и там видно, что даже RR-Ray он очень маленький.
As the feature compasses very well, так написал разработчик.
Ну, соответственно, пошел по гумаю, и википедия говорит, что это такая вероятность,
структура данных. Вы можете перейти по паркоду, сами посмотреть, что там написано.
ее Хоберт Глум в 1970 году, еще он реализовал, и, собственно, зачем она нужна?
Она нужна, чтобы понять, что какой-то элемент является частью какого-то множества.
И работает она так, что постпозитивы возможны, постмогативы невозможны.
То есть буквально мы говорим, скажи, ты знаешь, вот это.
Он говорит, возможно, либо он говорит, нет.
От этого мы будем писать.
Также если посмотреть на интернет, вообще Bluntry используется как раз для того, чтобы быстро просеивать какие-то данные и откидывать которые в данные, которые приходят в определенные процессы.
Как оно работает в данном случае, как оно работает в NetJS, если используется Webpack?
Он на этапе сборки приложения прогоняет рут через нубовый хэш,
войдет результаты в какой-то из фильтров, и дальше в приложении, когда происходит какой-то запрос,
Оно проверяет, что входит этот фильтр или нет. Если входит, то можно сразу M4404. Если входит, теоретически, да, то мы начинаем буквапрабатывать.
Таким образом все работает быстрее. Ну, я решил отдавать эту проблему, что-то проблема-то.
Писал скрипт, выбрал свой код, скопировал все руки из бухгалка по вкладке таргет,
кто еще помнит пользоваться бухгалка,
сохранил эти файлы, получил какой-то 30-40 записей, которые не были известными, и прогнал.
И я вижу то, что, да, вот календарь, какие-то айтемы, логин, все отлично.
И тут я вижу, что сюда еще попадают таргеты.
Я такой, так, типа, а почему у нас афи туда попадают? А если у нас вот этот вот фильтр и его шанс ошибки, типа, очень-очень низкий,
количество айтемов 141, и вот я клиенту, ну, типа, где-то 20-30, просто я вижу, что количество айтемов 141.
Что в этом случае можно сделать? Да давайте грузить просто локально.
Зачем нам вывести заправлять запросы куда?
Это когда мы можем здесь проверить, у нас в сутки этого не есть.
Поэтому берем небольшой словарь, где-то 140 тысяч роутов,
пишем опять же небольшую оберку относительно того, что мы не знаем,
дается того, что мы можем искать, получаем на входе словарь по 2 миллиона 400 тысяч роутов,
теоретически, прогоняем через пикер, получаем 642 записи.
То есть это те, которые, как раз таки, два потока очень медленно отправить на сервер.
И, само собой, из этих 642, из этого 638, это был также холст позитивный.
Но еще несколько, они были правильные.
И за счет этого, судя по всему, это был white code какой-то, но у меня получилось обратиться к ручке, которая не была закрыта.
то есть был broken object layer authorization и я нашел список пользователей.
Таким образом, в аккаунт прикольвер я знаю,
в почетку супероблина, все, против приложения пакета.
Почему это так? Почему вообще так случилось?
В принципе, типичное приложение на Next'е, оно не в всяком случае,
либо App, либо SFC, отдельные из лепёта API, ну и определенные папки.
На самом деле, особенно если вы пишете, используете лиромку какую-то, она в общем спокойно может положить папку API внутрь папки App.
И это будет работать, там будет немножко другой формат самого описания самого JavaScript файла,
и тексты и тексты. Но цель в том, что веб-пак, ему-то без разницы, он знает, что ему нужно веб-зап собирать файлы,
и он их также включит в лунфильтры. С 16-го Next используется TurboPack, на 15-ом Next выучили веб-пак,
Но также в 16 можно просто указать, что билдинг использует FAP и все будет работать.
Поэтому я собрал для себя, пока я пытался понять, почему это так, небольшое демо.
Оно как бы произойдет с такой случайностью тех приложения, мы берем файл API V1 ID.3D, даем ему случайное имя,
то есть 1,5 и дальше от 5,0 и 5,9.
И пишем и дала такую, что вы говорите, вот от себя запросы только раз в минуту,
все остальные возвращаем 429 ошибку, и дала для API.mv.s, для API.v2
мы, соответственно, такой лидалл вар не подключаем,
мы просто всегда возвращаем, что там включеньки,
А пилот-вококис, они на темной стороне как здесь.
Поэтому мы пробуем сделать запросы, видим, что да, все здесь возвращается,
и видим, что мы когда обращаемся к B1, мы, к сожалению, получаем ошибку 429.
Поэтому давайте сходим в само приложение, посмотрим, что находится в билд-ранифесте.
В принципе, build ID совершенно не проблема найти для любого
на это салфа джесс-приложения.
Практически всегда есть ни страница, либо там немножко
4-гое формат, можно джесс его выбрать, но он есть.
Вот, поэтому я, собственно, забираю этот блум-фильтр,
видим, что там количество айтемов, оно всего 6,
количество
как бы байт
в самом вот этой
в результате
довольно маленькое.
Все остальное стандартное.
Мы здесь больше ничего не делаем.
И мы пишем просто киска, который
использует этот
фильтр, перебирает какие-то данные
и
возвращает нам результат.
Соответственно, у нас где-то
100 тысяч вариантов от нуля
до 5 миллиардов.
И наш результат 8 из 100 тысяч, те, которые теоретически подходят.
Так как демо в данном случае будет занимать 8 минут, мы не будем делать запросы напрямую, мы зайдем в контейнер, потому что контейнер, как раз в сборке, случайно не дадут время, и просто посмотрим, какое на самом деле действительное имя, которое мы ищем.
Мы гребли по ID2.025, смотрим наш список, который мы сами перебрали, также мы видим, что он есть, и просто сделаем запрос искомому приложению и увидим вклад.
Дальше, что произошло дальше? В общем-то, ничего. Я решил, что просто интересно, на Bounty, где не встречается меня, написал скрин, который проходит все Bounty, ищет Next, ищет Next, в котором есть Google Filter, и начинает искать там проуты.
Я нашел где-то 10 вот таких похожих кейсов, но как бы она была уже дальше, ну как бы не теплотабельна, потому что, ну в общем, сами понимаете, да, это не обязательно секрет.
То есть табель может быть вечер на других в ходе, и тебе нужна еще какая-то банка.
Но сама концепция мне показалась интересной, и я думаю, что, возможно, другие следователи могут это крути до чего-то больше.
А сейчас спасибо большое за ваш время.
Давайте вопросы, если вы имеете.
Спасибо.
Я просто подумал вебхакерам. Ты слышишь нас?
Да.
Привет.
Вопрос. Я там в середине слышал про динамик роут.
Я не совсем понял. В итоге в этом блудфитере предполагались только client-side роуты,
и это ошибка, что API попал в сквозь client-side вебпак.
Или там все-таки бывает динамик роуты?
Или что за динамик роут?
Она туда не должна попадать.
Да, то есть динамические ролки могут быть на клиенте.
То есть у тебя может быть какой-то параметр, который ты не будешь прописывать, и также пересадить на новый динамический ролк.
Понял. Спасибо.
Спасибо, что сделал Ёпрст международное.
Спасибо вам.
Спасибо.