DEV Community

Erlan Akbaraliev
Erlan Akbaraliev

Posted on • Edited on

БД4 Практ (Insert)

Вы — обученный «пентестер». Компании часто нанимают вас для проведения тестов на проникновение и составления отчётов об уязвимостях в их информационных системах. Не так давно вас наняла небольшая фирма, которой было необходимо провести такой тест на базе данных Posgresql — той самой, что обслуживает их сайт с умеренным трафиком.

Чтобы успешно выполнить эту скрытую операцию, вам нужно…

  • Изменить пароль административной учётной записи сайта (UPDATE).
  • Удалить из базы данных любые журналы, в которых зафиксировано изменение пароля (DELETE).
  • Добавить ложные данные, чтобы сбить компанию со следа (INSERT).

И вот представился золотой шанс: вам удалось проникнуть в офис компании как раз в тот момент, когда один из программистов покинул своё рабочее место. Его подключение к базе данных всё ещё открыто. Вы предполагаете, что у вас есть 5 минут до его возвращения. Готовы?

Скачайте этот файл чтобы создать и добавить данные в таблицы:
БД4

  1. step1

  2. Отрывайте файл БД4.sql:
    step2

  3. Нажмите на кнопку выполнить чтобы создать все таблицы и добавить данные:


Схема

У вас создадутся таблицы users и user_logs.

  1. Таблица users (Пользователи)
    ID: Уникальный номер пользователя.
    username: Имя, под которым пользователь входит в систему.
    password: Пароль (хеш пароля).

  2. Таблица 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.

Время пошло!


Решения

  1. Изменить пароль admin на “oops”. Сначала зайдите на md5hashgenerator.com и получите MD5-хэш слова "oops", затем выполните:

Enter fullscreen mode Exit fullscreen mode

2.Удалить логи изменения пароля из user_logs


Enter fullscreen mode Exit fullscreen mode

3.Добавить ложные данные в user_logs: будто пароль admin был изменён с “oops” на пароль emily33 (в хэшированном виде).


Enter fullscreen mode Exit fullscreen mode

Top comments (0)