Пароль в эфире
Прогресс комнаты
0 / 4
Задание 1Введение
Цель: Перехватывать учётные данные из незашифрованного HTTP-трафика.
Админ скачивал бэкап по обычному HTTP, а вы записали трафик. Найдите пароль. Флаг — CTF{пароль}.
Задание 2Теория и инструменты
HTTP Basic Authentication передаёт логин:пароль в заголовке Authorization: Basic ..., закодированными в Base64.
Без TLS (HTTPS) любой в той же сети (кафе, общий Wi-Fi) видит этот заголовок и раскодирует его за секунду.
Инструменты
- Wireshark: фильтр
http.authorization - Python:
base64.b64decode
Больше теории — в разделе «Обучение: Сети».
Задание 3Практика: найдите флаг
14:02:11.381 IP 192.168.1.23.51544 > 192.168.1.10.80: Flags [S], seq 1180242
14:02:11.382 IP 192.168.1.10.80 > 192.168.1.23.51544: Flags [S.], ack 1180243
14:02:11.383 IP 192.168.1.23.51544 > 192.168.1.10.80: Flags [P.], length 214: HTTP: GET /backup/ HTTP/1.1
GET /backup/ HTTP/1.1
Host: 192.168.1.10
User-Agent: curl/8.4.0
Authorization: Basic YmFja3VwOkF1dDBtbl9MMzR2ZXMh
Accept: */*
14:02:11.390 IP 192.168.1.10.80 > 192.168.1.23.51544: Flags [P.], length 512: HTTP: HTTP/1.1 200 OK
Пошаговый план — открывайте по одному шагу
- 1Найдите в дампе заголовок
Authorization. - 2Возьмите строку после слова
Basicи раскодируйте её из Base64. - 3Получится
логин:пароль. Флаг — пароль внутриCTF{...}.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Только HTTPS (и HSTS). Basic Auth допустим лишь поверх TLS, а для пользователей лучше токены или сессии.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.