/Разборы задач
31 октября 2026
Райтап на задачу «Бесконечность»
Получаем Infinity в JavaScript без букв и цифр с помощью JSFuck.8
7

Misc
Задача «Точность+»
Райтап на миск «точность+»
Здарова, васькИ! Сегодня разбираем очередной миск, в общем, заходим на сервис и уже видим хYйню:
Ага, понятно, 6лять, видимо опять наё6ывать придётся, ну мы пацаны простые, хYли нам делать.
Заходим в прогу (у меня Caido (ПОЛЬЗУЙТЕСЬ Caido, НЕВЕЖИ)) и начинаем чекать, какие запросы и куда отправляет сервис:
Видим, что сервис отправляет POST-запрос на /calculate, ну всё, е6ать, теперь мы знаем, кого конкретно надо наё6ать.
Отправляем эту хYйню в Replay и начинаем шаманить.
И вот первый звоночек для наё6ки: числа передаются строками, а не числами. Ну-ну, значит, где-то их будут парсить, а где парсинг — там и наё6.
Ну всё, начинаем др0чить эту залYпу в поисках логики.
ХYй там.
ХYй там.
Вот первый результат от парсера (отправили мы parseInt)
Стоп, а чё вообще за хYйня? Оба числа должны быть не больше 1000, а среднее нужно БОЛЬШЕ 1000, честными числами хYй так выйдет, два по 1000 дают ровно 1000 и нихYя больше. Значит, надо, чтоб проверка и подсчёт увидели строку по-разному: проверка «не больше 1000» хекс не раскусит и пропустит, а parseInt тут же превратит его в нормальное число. Это и есть type confusion — левая рука не знает, что творит правая, на этом и наё6ываем.
Крч, пробуем е6ануть хекс:
0x3e9 — это 1001 в шестнадцатеричной, как в тех видосах: «е6анет/не е6анет?»
НИХYЯ СЕБЕ ПОЛУЧИЛОСЬ! Флаг доставайте сами, халявщики хYевы. Всем спасибо!