Вы — обученный «пентестер». Компании часто нанимают вас для проведения тестов на проникновение и составления отчётов об уязвимостях в их информационных системах. Не так давно вас наняла небольшая фирма, которой было необходимо провести такой тест на базе данных Posgresql — той самой, что обслуживает их сайт с умеренным трафиком.
Чтобы успешно выполнить эту скрытую операцию, вам нужно…
- Изменить пароль административной учётной записи сайта (UPDATE).
- Удалить из базы данных любые журналы, в которых зафиксировано изменение пароля (DELETE).
- Добавить ложные данные, чтобы сбить компанию со следа (INSERT).
И вот представился золотой шанс: вам удалось проникнуть в офис компании как раз в тот момент, когда один из программистов покинул своё рабочее место. Его подключение к базе данных всё ещё открыто. Вы предполагаете, что у вас есть 5 минут до его возвращения. Готовы?
Скачайте этот файл чтобы создать и добавить данные в таблицы:
БД4
Схема
У вас создадутся таблицы users и user_logs.
Таблица users (Пользователи)
ID: Уникальный номер пользователя.
username: Имя, под которым пользователь входит в систему.
password: Пароль (хеш пароля).Таблица user_logs (Журнал действий)
Что хранит: Она хранит запись о каждом действии (создание, обновление, удаление), которое происходило с аккаунтами.
type: Какое действие произошло (insert–создан, update–изменен, delete-удален).
old_username / new_username: новоеимяпользователя / староеимяпользователя
old_password / new_password: старыйпароль / новыйпароль
Боюсь, времени объяснять структуру базы данных почти нет. Помните, что вы можете просмотреть схему базы данных с помощью команды SELECT.
Техническое задание
Напишите последовательность SQL-запросов, которые должны выполнить следующее:
-
Изменить пароль административной учётной записи
adminна "oops!" (UPDATE). -
Удалить любые журналы (логи), в которых записано изменение пароля (
DELETE). -
Добавить ложные данные, чтобы запутать следы. В частности, чтобы подставить
emily33, нужно создать видимость, будто в таблицеuser_logsпароль учётной записи admin был изменён на пароль пользователяemily33(INSERT).
Также имейте в виду, что пароли обычно не хранятся в «открытом виде» — то есть в виде обычного текста. Вместо этого они «хэшируются» (преобразуются в специальную форму) для защиты конфиденциальности. Учитывая это, вам нужно удостовериться, что новый пароль для учётной записи admin тоже будет записан в виде хэша. К счастью, вы знаете, что пароли в таблице users уже хранятся как MD5 hashes. Вы можете быстро сгенерировать такие хэши из текста на сайте md5hashgenerator.com.
Время пошло!
Решения
- Изменить пароль admin на “oops”. Сначала зайдите на md5hashgenerator.com и получите MD5-хэш слова "oops", затем выполните:
2.Удалить логи изменения пароля из user_logs
3.Добавить ложные данные в user_logs: будто пароль admin был изменён с “oops” на пароль emily33 (в хэшированном виде).



Top comments (0)