Райтап на задачу «В отпуске»

dikiyponos

Автор:

dikiyponos

5 ноября 2026

3

05.11.2026
В отпуске
Категория:

Web

Задача «В отпуске»

vanderson

Автор:

vanderson

Первая кровь:
Huobase
Сложность:
hard
Дата публикации:
30.05.2026
Решений:
25
Рейтинг:
4.71/5
Ссылка:
Решать

Трудно перестать восторгаться новым интерфейсом БАГодельни, но таски решать надо. Наша цель — получить хеш от учётной записи admin. Перейдём по ссылке.

Решение задачи «В отпуске»: иллюстрация 1

Внизу видим надпись, что создано с помощью WooCommerce. Загуглив, что это, понимаем, что сайт работает на WordPress. Значит пробуем без всяких dirb/gobuster открыть wp-login.php.

Решение задачи «В отпуске»: иллюстрация 2

Входим как tester:tester по условию задачи. Мы попадаем в панель, где столько всего, что глаза разбегаются. Посмотрим список плагинов, в них часто бывают уязвимости.

Решение задачи «В отпуске»: иллюстрация 3

Первым бросается в глаза экспорт заказов в форматах (Excel/CSV/XML/JSON). На первый взгляд это, пожалуй, единственный плагин, который явно принимает что-то на вход, роется в базе данных и даёт вывод.

Решение задачи «В отпуске»: иллюстрация 4

Используем параметры по умолчанию и получаем таблицу. Попробуем извлечь из базы данных то, что нужно нам, — хеш от пароля admin. Для этого как раз есть «Set up fields to export».

В интерфейсе первым делом указываем, что нам нужен только один клиент — наш администратор. Для этого в Filter by customer указываем admin.

Решение задачи «В отпуске»: иллюстрация 5

Затем в интерфейсе добавления полей смотрим, что мы вообще можем вывести с помощью «Add field», там находится куча строк с приставкой USER, которые явно относятся к базе WordPress, но всё ещё там нет ничего, что связано с хешем. Видимо в этом плагине оно скрыто.

Решение задачи «В отпуске»: иллюстрация 6

Попробуем сами найти, где оно должно лежать.

Решение задачи «В отпуске»: иллюстрация 7

Отлично, теперь мы знаем, что нам нужен user_pass. А ещё мы знаем, что подобные записи плагин отдаёт при наличии приставки USER_, попробуем создать собственное поле.

Решение задачи «В отпуске»: иллюстрация 8

Теперь, когда мы создали это поле, остаётся перетянуть его в экспорт и нажать Preview.

Решение задачи «В отпуске»: иллюстрация 9

Вуаля, мы получили хеш пароля. Остаётся только обернуть его в BugCTF{} и отправлять флаг.

Если вы нашли опечатку или ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter

Также по теме:

Райтап на задачу «Слепая инъекция»

/Разборы задач

Райтап на задачу «Слепая инъекция»

Пишем скрипт для слепой SQL-инъекции по ответам true/false и разбираем альтернативу с sqlmap.
Прочитать

2

Райтап на задачу «Совсем слепая инъекция»

/Разборы задач

Райтап на задачу «Совсем слепая инъекция»

Извлекаем флаг через временную SQL-инъекцию в SQLite и отсеиваем случайные задержки ответа.
Прочитать

2