После задания понимаем, что там мобильная апка и скорее всего нам потребуется эмулятор и снифер трафика для него.

В качестве эмулятора использовал Genymotion: https://www.genymotion.com/.

В качестве снифера трафика использовал https://www.charlesproxy.com/.

Подключаем эмулятор через прокси снифера. Как настроить можно посмотреть тут https://www.youtube.com/watch?v=l5ll4jyY6Yg

Запускаем апку, смотрим что умеет делать. Можем логинится, разлогинится, создавать пользователей, удалять пользователей, менять емейл и восстанавливать пароль. Последние две функции интересны. Пробуем смену емейла (я использовал временный из https://temp-mail.org/ru/). Письмо приходит в нем ссылка с токеном.

Теперь у нас есть набор апи запросов. Из задания мы знаем id пользователя у которого надо удалить контант.

Пробуем сменить почту у этого пользователя. Подставляем его id в эндпоинт смены почты.

curl --location '<http://its-delcontact-4ncvjm8.spbctf.ru/email>' \\
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY4OTUxMjE2NywianRpIjoiMDE1ZjJiYjQtNmQ5Zi00OGYwLWI1ZTQtYWQ0MzNhODQ3MzU4IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6eyJ1aWQiOjEyNTgsImVtYWlsIjoiYTEwQGEuY29tIn0sIm5iZiI6MTY4OTUxMjE2NywiZXhwIjoxNzIxMDQ4MTY3fQ.pzZGTdixXDoz05Cc5oEN030BoJxbxalvqyqe_oxJQeM' \\
--header 'Content-Type: application/json' \\
--data-raw '{
    "email": "[email protected]",
    "uid": 0
}'

Запрос успешно отправляется. Получается мы можем менять почты у любого пользователя. Тут важная деталь, что это должна быть почта, на которую еще не зарегистрирован ни один пользователь.

Теперь нам надо узнать пароль. Пробуем провернуть по такой же схеме. Через приложение восстанавливаем пароль на только что смененную почту. Запрос успешно проходит. Получаем письмо. Подтверждаем. Теперь у нас есть логин (почта) и пароль.

Авторизуемся в пользователя 0, находим контакт Сары Конор. Удаляем. Получаем флаг.

Untitled