• XSS.stack #1 – первый литературный журнал от юзеров форума

Пример одной SQL Truncation

pablo

(L2) cache
Пользователь
Регистрация
01.02.2019
Сообщения
433
Реакции
1 524
Задание.
Сегодня разберём задание "SQL Truncation". По названию может показаться, что это очередное задание на SQL-инъекции, но это не совсем так. Данное задание скорее показывает некоторые особенности работы SQL.
Как всегда посмотрим описание, хотя в последнее время в веб-тасках на root-me достаточно просто прочитать название.
e14d90a73777859e3988a.png

Всё как обычно, нам нужно получить доступ к зоне администратора.
Перейдём на сайт и посмотрим, что нам предлагают.
097643da61a11e37c41d0.png

Есть меню для регистрации и администраторская.
Посмотрим исходный код страницы регистрации.
dbacc608ea5a39fddb5f0.png

Сразу обратим внимание на то, как сохраняется login. Про отличия типа VARCHAR и CHAR можно узнать здесь - https://phpclub.ru/mysql/doc/char.html
В названии задания нам говорят про SQL Truncate. Про данную атаку известно уже довольно давно и она довольно простая с точки зрения реализации (подробнее тут - https://blog.lucideus.com/2018/03/sql-truncation-attack-2018-lucideus.html)
Как и во всех других "truncate" ошибках, проблема связана с усечением некоторого значения. В данном случае усекается значение, которое будет помещено в таблицу. Таким образом регистрируя нового пользователя с похожим login'ом, но отличающимся например количеством пробелов после имени и ещё некоторыми символами, в базу будет добавлено усечённое имя и таким образом при обращении к базе с верным паролем для созданного пользователя мы можем получить привилегии другого пользователя.

К заданию.
e06ea8fb38baf055fb22e.png


Создадим пользователя с именем "admin qwe123" и паролем "0123456789".

50f6a72471582e48289fd.png


Отлично пользователя сохранён. Теперь попробуем авторизоваться в админ-панели с помощью этого пароля.

534d8f05b7500b76d12d2.png

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

(с) Telegram-канал "Убежище Хакера"
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх