1
00:00:00,000 --> 00:00:08,400
У нас будет очень удаленный и очень близкий табальчик.

2
00:00:09,040 --> 00:00:10,800
Многие его знают.

3
00:00:11,460 --> 00:00:14,400
Всем привет!

4
00:00:14,740 --> 00:00:16,780
Это самая красивая презентация.

5
00:00:16,880 --> 00:00:18,440
Это просят меня другие табальчики.

6
00:00:19,880 --> 00:00:24,360
И что мне нравится, тут веб-хайкинг сочетается с математикой.

7
00:00:24,360 --> 00:00:27,220
И то и другое. Я не вижу, но все его сочетается.

8
00:00:27,220 --> 00:00:45,000
Да, всем привет, добро пожаловать. Мы не виделись. Собственно, кто не знает, я занимаюсь безопасностью, работаю сейчас как критинером, секретарь и ресерчер на этой телеграмме.

9
00:00:45,000 --> 00:00:50,880
и также нахожусь в габарнии, таким образом мы делаем эту презентацию, эту конференцию международной,

10
00:00:50,960 --> 00:00:53,620
на международной конференции я просто позвоню.

11
00:00:55,180 --> 00:00:59,320
Презентация не по мне, она в одну страну есть.

12
00:00:59,940 --> 00:01:00,580
А что мне это?

13
00:01:01,920 --> 00:01:03,920
Мне дали приложение на анализ.

14
00:01:04,240 --> 00:01:11,180
Само собой в лучших традициях веба приложение BlackVox под трафиком, никаких стейджей, ничего,

15
00:01:11,180 --> 00:01:13,020
но хотя бы могу зарегистрировать себя.

16
00:01:13,160 --> 00:01:14,200
Учеток тоже мне дали.

17
00:01:15,000 --> 00:01:17,900
И не важно как, но я нашел там аккаунт рекорда.

18
00:01:18,120 --> 00:01:18,880
Соответственно, я зарегал.

19
00:01:18,940 --> 00:01:20,740
Ну, чертку вторую, сделал с одной и с другой

20
00:01:20,740 --> 00:01:23,780
определенной манипуляцией.

21
00:01:23,780 --> 00:01:24,860
Да, пришел.

22
00:01:25,600 --> 00:01:27,600
Теперь следующий вопрос.

23
00:01:27,840 --> 00:01:29,740
Нужно как-то получить

24
00:01:29,740 --> 00:01:33,780
регулированный аккаунт.

25
00:01:34,000 --> 00:01:34,820
А как его получить?

26
00:01:35,540 --> 00:01:37,420
Ну, давайте рассмотрим хотя бы чуть-чуть,

27
00:01:37,540 --> 00:01:38,520
что вообще за приложение.

28
00:01:39,940 --> 00:01:43,360
NextOS написан, соответственно, на фронте реакт,

29
00:01:43,360 --> 00:01:44,640
на бэке Next.

30
00:01:45,180 --> 00:01:47,420
Какие зародки мы знаем, может регистрироваться,

31
00:01:47,520 --> 00:01:49,220
как уже сказал, нужно получить информацию

32
00:01:49,220 --> 00:01:49,680
о себе.

33
00:01:51,140 --> 00:01:53,080
И, в общем-то, соответственно, у нас есть что-то типа

34
00:01:53,080 --> 00:01:55,540
АПИ. Логичный вопрос,

35
00:01:55,720 --> 00:01:57,160
помогу ли я грудь

36
00:01:57,160 --> 00:01:59,020
АПИ. Мне ответили,

37
00:01:59,020 --> 00:02:01,440
нет, максимум ты можешь

38
00:02:01,440 --> 00:02:02,740
два потока с

39
00:02:02,740 --> 00:02:04,560
секундной задержки между

40
00:02:04,560 --> 00:02:07,180
восьмию и полуночью, где-то вечером

41
00:02:07,180 --> 00:02:08,800
в грудь, ну, соответственно,

42
00:02:09,640 --> 00:02:10,260
невероятно.

43
00:02:11,220 --> 00:02:12,580
Что мы можем еще сделать?

44
00:02:12,580 --> 00:02:16,820
Мы можем пойти анализировать статические файлы, может быть, мы там что-то найдем.

45
00:02:18,200 --> 00:02:21,160
Что-то нашел, но как бы не совсем полезное.

46
00:02:22,260 --> 00:02:24,260
В общем-то, узнал немножечко больше о приложении.

47
00:02:24,940 --> 00:02:27,900
Можем использовать Google Дорки, может быть, они нам как-то подскажут.

48
00:02:29,060 --> 00:02:32,540
Приложения довольно новые, не прииндексированные флотки, в общем-то нет.

49
00:02:33,120 --> 00:02:37,260
Можно попросить Флода пойти поискать кто не знает что.

50
00:02:37,260 --> 00:02:45,860
Ну как бы удалось. Можно еще попробовать использовать какие-то auto-development мышления.

51
00:02:45,860 --> 00:02:50,140
Вот, собственно, я решил попробовать последний вариант.

52
00:02:51,140 --> 00:02:54,720
Как я уже сказал, на JS, там есть такая штука, вилкомминтез.

53
00:02:54,820 --> 00:02:57,660
Я думаю, все абсолютно знают и видели такой файл.

54
00:02:57,940 --> 00:03:06,000
Там может быть какие-то роты, какие-то правила, какие-то фильтры для ротинга в том числе.

55
00:03:06,000 --> 00:03:11,500
И, в общем, он всегда находится на underscore next static build.id build.js.

56
00:03:13,380 --> 00:03:21,180
Я сделал запрос, пришел в него, и смотрю, ну, в общем-то, вот, есть он, какой-то такой файл,

57
00:03:21,540 --> 00:03:24,020
только почему-то root я там никаких не вижу.

58
00:03:24,480 --> 00:03:27,940
Я вижу, что там есть root, фильтр static, и он большой.

59
00:03:28,400 --> 00:03:30,620
И там много букв E и R.

60
00:03:30,620 --> 00:03:35,840
Я подумал, что если E это 6, а R это 7, то как бы это все вообще на своих местах.

61
00:03:36,000 --> 00:03:40,000
Но оказалось, что нет, e равно единице, e равно n.

62
00:03:41,000 --> 00:03:50,000
И дальше я полез поискать немножечко его коде Next, что вообще это такое, где такая структура встречается.

63
00:03:50,000 --> 00:03:53,000
Нашел, что есть такая штука, называется blue filter.

64
00:03:54,000 --> 00:03:59,000
Он использует под собой норбл хэш, и из-за того, что нам нужно,

65
00:03:59,000 --> 00:04:03,000
что там есть какое-то количество айтемов, есть какой-то RR-Ray,

66
00:04:03,000 --> 00:04:07,000
и там видно, что даже RR-Ray он очень маленький.

67
00:04:07,000 --> 00:04:12,000
As the feature compasses very well, так написал разработчик.

68
00:04:12,000 --> 00:04:18,000
Ну, соответственно, пошел по гумаю, и википедия говорит, что это такая вероятность,

69
00:04:18,000 --> 00:04:23,000
структура данных. Вы можете перейти по паркоду, сами посмотреть, что там написано.

70
00:04:23,000 --> 00:04:30,720
ее Хоберт Глум в 1970 году, еще он реализовал, и, собственно, зачем она нужна?

71
00:04:30,720 --> 00:04:36,240
Она нужна, чтобы понять, что какой-то элемент является частью какого-то множества.

72
00:04:37,000 --> 00:04:41,740
И работает она так, что постпозитивы возможны, постмогативы невозможны.

73
00:04:41,920 --> 00:04:44,520
То есть буквально мы говорим, скажи, ты знаешь, вот это.

74
00:04:44,940 --> 00:04:48,140
Он говорит, возможно, либо он говорит, нет.

75
00:04:49,220 --> 00:04:51,060
От этого мы будем писать.

76
00:04:51,060 --> 00:05:04,060
Также если посмотреть на интернет, вообще Bluntry используется как раз для того, чтобы быстро просеивать какие-то данные и откидывать которые в данные, которые приходят в определенные процессы.

77
00:05:04,060 --> 00:05:11,060
Как оно работает в данном случае, как оно работает в NetJS, если используется Webpack?

78
00:05:11,060 --> 00:05:18,060
Он на этапе сборки приложения прогоняет рут через нубовый хэш,

79
00:05:18,060 --> 00:05:25,060
войдет результаты в какой-то из фильтров, и дальше в приложении, когда происходит какой-то запрос,

80
00:05:25,060 --> 00:05:37,060
Оно проверяет, что входит этот фильтр или нет. Если входит, то можно сразу M4404. Если входит, теоретически, да, то мы начинаем буквапрабатывать.

81
00:05:37,060 --> 00:05:43,060
Таким образом все работает быстрее. Ну, я решил отдавать эту проблему, что-то проблема-то.

82
00:05:43,060 --> 00:05:49,060
Писал скрипт, выбрал свой код, скопировал все руки из бухгалка по вкладке таргет,

83
00:05:49,060 --> 00:05:51,060
кто еще помнит пользоваться бухгалка,

84
00:05:51,060 --> 00:06:00,060
сохранил эти файлы, получил какой-то 30-40 записей, которые не были известными, и прогнал.

85
00:06:00,060 --> 00:06:07,060
И я вижу то, что, да, вот календарь, какие-то айтемы, логин, все отлично.

86
00:06:07,060 --> 00:06:10,060
И тут я вижу, что сюда еще попадают таргеты.

87
00:06:10,060 --> 00:06:21,820
Я такой, так, типа, а почему у нас афи туда попадают? А если у нас вот этот вот фильтр и его шанс ошибки, типа, очень-очень низкий,

88
00:06:21,820 --> 00:06:30,960
количество айтемов 141, и вот я клиенту, ну, типа, где-то 20-30, просто я вижу, что количество айтемов 141.

89
00:06:30,960 --> 00:06:35,480
Что в этом случае можно сделать? Да давайте грузить просто локально.

90
00:06:35,480 --> 00:06:37,480
Зачем нам вывести заправлять запросы куда?

91
00:06:37,480 --> 00:06:40,480
Это когда мы можем здесь проверить, у нас в сутки этого не есть.

92
00:06:40,480 --> 00:06:48,480
Поэтому берем небольшой словарь, где-то 140 тысяч роутов,

93
00:06:48,480 --> 00:06:52,480
пишем опять же небольшую оберку относительно того, что мы не знаем,

94
00:06:52,480 --> 00:06:59,480
дается того, что мы можем искать, получаем на входе словарь по 2 миллиона 400 тысяч роутов,

95
00:06:59,480 --> 00:07:03,480
теоретически, прогоняем через пикер, получаем 642 записи.

96
00:07:03,480 --> 00:07:10,480
То есть это те, которые, как раз таки, два потока очень медленно отправить на сервер.

97
00:07:10,480 --> 00:07:17,480
И, само собой, из этих 642, из этого 638, это был также холст позитивный.

98
00:07:17,480 --> 00:07:20,480
Но еще несколько, они были правильные.

99
00:07:20,480 --> 00:07:29,480
И за счет этого, судя по всему, это был white code какой-то, но у меня получилось обратиться к ручке, которая не была закрыта.

100
00:07:29,480 --> 00:07:36,080
то есть был broken object layer authorization и я нашел список пользователей.

101
00:07:36,080 --> 00:07:38,480
Таким образом, в аккаунт прикольвер я знаю,

102
00:07:38,480 --> 00:07:43,080
в почетку супероблина, все, против приложения пакета.

103
00:07:43,080 --> 00:07:47,480
Почему это так? Почему вообще так случилось?

104
00:07:47,480 --> 00:07:51,480
В принципе, типичное приложение на Next'е, оно не в всяком случае,

105
00:07:51,480 --> 00:07:57,480
либо App, либо SFC, отдельные из лепёта API, ну и определенные папки.

106
00:07:57,480 --> 00:08:07,480
На самом деле, особенно если вы пишете, используете лиромку какую-то, она в общем спокойно может положить папку API внутрь папки App.

107
00:08:07,480 --> 00:08:15,480
И это будет работать, там будет немножко другой формат самого описания самого JavaScript файла,

108
00:08:15,480 --> 00:08:23,580
и тексты и тексты. Но цель в том, что веб-пак, ему-то без разницы, он знает, что ему нужно веб-зап собирать файлы,

109
00:08:23,580 --> 00:08:36,480
и он их также включит в лунфильтры. С 16-го Next используется TurboPack, на 15-ом Next выучили веб-пак,

110
00:08:36,480 --> 00:08:42,300
Но также в 16 можно просто указать, что билдинг использует FAP и все будет работать.

111
00:08:44,680 --> 00:08:49,800
Поэтому я собрал для себя, пока я пытался понять, почему это так, небольшое демо.

112
00:08:51,440 --> 00:09:04,440
Оно как бы произойдет с такой случайностью тех приложения, мы берем файл API V1 ID.3D, даем ему случайное имя,

113
00:09:04,440 --> 00:09:08,440
то есть 1,5 и дальше от 5,0 и 5,9.

114
00:09:08,440 --> 00:09:15,440
И пишем и дала такую, что вы говорите, вот от себя запросы только раз в минуту,

115
00:09:15,440 --> 00:09:22,440
все остальные возвращаем 429 ошибку, и дала для API.mv.s, для API.v2

116
00:09:22,440 --> 00:09:25,440
мы, соответственно, такой лидалл вар не подключаем,

117
00:09:25,440 --> 00:09:28,440
мы просто всегда возвращаем, что там включеньки,

118
00:09:28,440 --> 00:09:31,880
А пилот-вококис, они на темной стороне как здесь.

119
00:09:32,360 --> 00:09:36,520
Поэтому мы пробуем сделать запросы, видим, что да, все здесь возвращается,

120
00:09:36,940 --> 00:09:42,440
и видим, что мы когда обращаемся к B1, мы, к сожалению, получаем ошибку 429.

121
00:09:44,600 --> 00:09:53,540
Поэтому давайте сходим в само приложение, посмотрим, что находится в билд-ранифесте.

122
00:09:53,540 --> 00:09:58,540
В принципе, build ID совершенно не проблема найти для любого

123
00:09:58,540 --> 00:10:00,540
на это салфа джесс-приложения.

124
00:10:00,540 --> 00:10:03,540
Практически всегда есть ни страница, либо там немножко

125
00:10:03,540 --> 00:10:06,540
4-гое формат, можно джесс его выбрать, но он есть.

126
00:10:06,540 --> 00:10:12,540
Вот, поэтому я, собственно, забираю этот блум-фильтр,

127
00:10:12,540 --> 00:10:19,540
видим, что там количество айтемов, оно всего 6,

128
00:10:19,540 --> 00:10:21,360
количество

129
00:10:21,360 --> 00:10:24,860
как бы байт

130
00:10:24,860 --> 00:10:26,120
в самом вот этой

131
00:10:26,120 --> 00:10:28,560
в результате

132
00:10:28,560 --> 00:10:30,140
довольно маленькое.

133
00:10:31,000 --> 00:10:32,280
Все остальное стандартное.

134
00:10:32,440 --> 00:10:33,600
Мы здесь больше ничего не делаем.

135
00:10:34,040 --> 00:10:35,840
И мы пишем просто киска, который

136
00:10:35,840 --> 00:10:37,660
использует этот

137
00:10:37,660 --> 00:10:40,280
фильтр, перебирает какие-то данные

138
00:10:40,280 --> 00:10:41,520
и

139
00:10:41,520 --> 00:10:43,060
возвращает нам результат.

140
00:10:43,420 --> 00:10:45,360
Соответственно, у нас где-то

141
00:10:45,360 --> 00:10:47,080
100 тысяч вариантов от нуля

142
00:10:47,080 --> 00:10:48,180
до 5 миллиардов.

143
00:10:49,540 --> 00:10:56,440
И наш результат 8 из 100 тысяч, те, которые теоретически подходят.

144
00:10:57,220 --> 00:11:14,880
Так как демо в данном случае будет занимать 8 минут, мы не будем делать запросы напрямую, мы зайдем в контейнер, потому что контейнер, как раз в сборке, случайно не дадут время, и просто посмотрим, какое на самом деле действительное имя, которое мы ищем.

145
00:11:14,880 --> 00:11:32,300
Мы гребли по ID2.025, смотрим наш список, который мы сами перебрали, также мы видим, что он есть, и просто сделаем запрос искомому приложению и увидим вклад.

146
00:11:32,300 --> 00:11:51,160
Дальше, что произошло дальше? В общем-то, ничего. Я решил, что просто интересно, на Bounty, где не встречается меня, написал скрин, который проходит все Bounty, ищет Next, ищет Next, в котором есть Google Filter, и начинает искать там проуты.

147
00:11:51,160 --> 00:12:02,260
Я нашел где-то 10 вот таких похожих кейсов, но как бы она была уже дальше, ну как бы не теплотабельна, потому что, ну в общем, сами понимаете, да, это не обязательно секрет.

148
00:12:02,260 --> 00:12:06,780
То есть табель может быть вечер на других в ходе, и тебе нужна еще какая-то банка.

149
00:12:07,280 --> 00:12:15,140
Но сама концепция мне показалась интересной, и я думаю, что, возможно, другие следователи могут это крути до чего-то больше.

150
00:12:15,140 --> 00:12:19,520
А сейчас спасибо большое за ваш время.

151
00:12:19,960 --> 00:12:21,220
Давайте вопросы, если вы имеете.

152
00:12:21,220 --> 00:12:22,220
Спасибо.

153
00:12:22,220 --> 00:12:23,220
Спасибо.

154
00:12:23,220 --> 00:12:24,220
Спасибо.

155
00:12:24,220 --> 00:12:24,220


156
00:12:24,220 --> 00:12:25,220
Спасибо.

157
00:12:25,220 --> 00:12:26,220
Спасибо.

158
00:12:26,220 --> 00:12:27,220
Спасибо.

159
00:12:27,220 --> 00:12:28,220
Спасибо.

160
00:12:28,220 --> 00:12:29,220
Спасибо.

161
00:12:29,220 --> 00:12:30,220
Спасибо.

162
00:12:30,220 --> 00:12:31,220
Спасибо.

163
00:12:31,220 --> 00:12:31,220


164
00:12:31,220 --> 00:12:32,220
Спасибо.

165
00:12:32,220 --> 00:12:33,220
Спасибо.

166
00:12:33,220 --> 00:12:34,220
Спасибо.

167
00:12:34,220 --> 00:12:35,220
Спасибо.

168
00:12:35,220 --> 00:12:35,220


169
00:12:35,220 --> 00:12:36,220
Спасибо.

170
00:12:36,220 --> 00:12:37,220
Спасибо.

171
00:12:37,220 --> 00:12:38,220
Спасибо.

172
00:12:38,220 --> 00:12:39,220
Спасибо.

173
00:12:39,220 --> 00:12:40,220
Спасибо.

174
00:12:40,220 --> 00:12:41,220
Спасибо.

175
00:12:41,220 --> 00:12:41,220


176
00:12:41,220 --> 00:12:42,220
Спасибо.

177
00:12:42,220 --> 00:12:45,700
Я просто подумал вебхакерам. Ты слышишь нас?

178
00:12:46,800 --> 00:12:47,100
Да.

179
00:12:49,660 --> 00:12:50,300
Привет.

180
00:12:51,300 --> 00:12:51,980
Привет.

181
00:12:52,220 --> 00:12:55,800
Вопрос. Я там в середине слышал про динамик роут.

182
00:12:56,260 --> 00:13:01,580
Я не совсем понял. В итоге в этом блудфитере предполагались только client-side роуты,

183
00:13:01,660 --> 00:13:05,260
и это ошибка, что API попал в сквозь client-side вебпак.

184
00:13:05,900 --> 00:13:08,300
Или там все-таки бывает динамик роуты?

185
00:13:08,420 --> 00:13:09,700
Или что за динамик роут?

186
00:13:09,700 --> 00:13:12,760
Она туда не должна попадать.

187
00:13:12,760 --> 00:13:15,760
Да, то есть динамические ролки могут быть на клиенте.

188
00:13:15,760 --> 00:13:22,760
То есть у тебя может быть какой-то параметр, который ты не будешь прописывать, и также пересадить на новый динамический ролк.

189
00:13:22,760 --> 00:13:24,760
Понял. Спасибо.

190
00:13:24,760 --> 00:13:29,760
Спасибо, что сделал Ёпрст международное.

191
00:13:29,760 --> 00:13:31,760
Спасибо вам.

192
00:13:31,760 --> 00:13:33,760
Спасибо.

193
00:13:33,760 --> 00:13:34,760
Спасибо.

