handleAccess выдаёт доступ, не проверяя существование видео, а запись в
access привязана к аккаунту и переживает ротацию токенов. Значит можно
занять строки под будущие id постоянным аккаунтом, и забирать флаги даже
после того, как цель запатчит keygen.
- tiktak_preauth.py: логинится постоянным PERSIST_LOGIN, меряет скорость
роста id (у команд разброс 7..900/мин), занимает окно вперёд на N минут.
Не для фермы, запускать раз в 10-20 мин, пока цель не запатчила.
- tiktak_keygen_forge.py: тот же постоянный аккаунт вместо одноразового;
watch=200 без форжа = сработала закладка, собираем флаг и оттуда.
Проверено на 10.10.10.5: занял 184 будущих id, через минуту watch/60524 и
60527 отдали свежие флаги без токена в запросе.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Фиксированная глубина 3000 не работала на быстрых боксах: на 10.10.10.1
id растут >1000/мин, приватные ролики чекера ушли на 12000 вниз от top и
сплойт возвращался пустым.
Теперь сканируем блоками по 2000 сверху вниз до 14000 и выходим, как только
набрали 6 целей -- на медленных боксах это по-прежнему один блок.
Проверено: 4 флага с 10.10.10.1 (глубина 12042), 3 с 10.10.10.5
(глубина 1653), на 10.10.10.2 корректно определился патч.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Единственный рабочий вектор на данный момент: LFI закрыли уже все команды
(проверил .1/.4/.5 -- везде 404), а keygen разобрали далеко не все.
Токен считается только от video id: seed=(seed*17+42)%62 по алфавиту base62,
30 символов, ключа нет. Форжим -> POST /access пишет строку в access ->
haveAccess() пропускает легально -> /watch отдаёт description, /vtt субтитры.
Поиск целей: приватное видео выдаёт себя размытым превью. /feed показывает
лишь 50 последних, а id растут ~500/мин из-за чужого флуда, поэтому
чекерские ролики лежат на глубине в сотни-тысячи id. Сканируем 3000 id в
50 потоков; echo отдаёт статику только на GET (HEAD => 405), так что
пробуем GET с Range: bytes=0-0 -- один байт вместо всего PNG.
6 отказов /access подряд => команда запатчена, выходим рано.
Проверено вживую: 3 флага с 10.10.10.5, 1 с 10.10.10.1, на 10.10.10.4
корректно определился патч.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>