|
|
|
| Здравствуйте. На форуме взломщиков появилась новая информация
сегодня тоже пришлось столкнуться с этой цмс, опубликованную otmorozok428 багу закрыли на сл же день:
Цитата:
28 ноября 2008
Взлом сайта CMS Ortus. SQL-инъекция.
Сегодня был взломан сайт CMS Ortus (и сама система тоже). SQL-инъекция.
Злоумышленник воспользовался опечаткой в коде модуля смены пользовательского профиля
Цитата:
28 ноября 2008
CMS Ortus 1.13.1 Исправлена уязвимость в модуле редактирования пользовательского профиля.
+ ни одна из переменных на сайте не пропускает спецсимволы, пришлось немного повозиться, но все же бага нашлась)
для переменной $sort в скрипте просмотра существующих пользователей не задается фиксированный набор значений
и обратившись к _ortus.nirn.ru/index.php?mod=users_list_pub&sort=lalala
появляется ключевая ошибка: Unknown column 'lalala' in 'order clause'
качаем двиг узнаем нужную нам колонку:
Цитата:
CREATE TABLE `users` (
`id_user` int(32) NOT NULL auto_increment,
`name` tinytext NOT NULL,
`login` tinytext,
`psw` tinytext,
...
сортируем список по найденной колонке _ortus.nirn.ru/index.php?mod=users_list_pub&sort=psw
и подбираем пароль админа как в обычной сортировочной sql inj. , т.е. методом создания новых пользователей
|
Выпустил CMS Ortus 1.13.2, а так же 1.10.1 (для пользователей более старых версий).
PS Ну, тут пароль подбирать надо. Надо ОЧЕНЬ постараться и не факт, что получится. | |
|
|
|
|
|
|
|
для: antf
(17.12.2008 в 19:39)
| | - | |
|
|
|
|
|
|
|
для: antf
(17.12.2008 в 19:39)
| | > Ну, тут пароль подбирать надо. Надо ОЧЕНЬ постараться и не факт, что получится.
Ну это Вы зря... | |
|
|
|
|
|
|
|
для: BinLaden
(17.12.2008 в 22:26)
| | Почему зря. О глюке я знал и намеревался исправить. Его уже нет в 1.14d1 (тестовой версии новых возможностей, которая выложена на официальном сайте). Не думал, что тут уязвимость. На мой взгляд это немного упрощает подбор хэша не более. Или тут более хитрое дело? | |
|
|
|
|
|
|
|
для: antf
(18.12.2008 в 00:29)
| | > На мой взгляд это немного упрощает подбор хэша не более
Это много упрощает подбор хеша. Впрочем, всё же это хеш, я думал голый пароль.
Хотя нет, не подумал. Раз там хеш, то особо действительно ничего не даст. | |
|
|
|
|
|
|
|
для: BinLaden
(18.12.2008 в 00:32)
| | ничего не даст
Смотря какой пароль ;) а то можт по базе хешей "бьётся в лёт") | |
|
|
|
|
|
|
|
для: Valick
(18.12.2008 в 00:49)
| | да нет... смотря какой хеш...
$auth_psw = strtolower($auth_psw);
if(!preg_match("/^[-0-9a-z_]{5,}$/i", $auth_psw)) {print "Password is incorrect.<br>";return;}
$query = "SELECT id_user, name, `group`
FROM {$gl_db_prefix}users WHERE login = '{$auth_login}' AND psw = md5('{$auth_psw}')";
|
вот это strtolower с ограничением до лат.букв и цифр вкупе с прямым MD5 - кхм...
После этого условие - не менее 5 символов - просто издевка какая-то. | |
|
|
|
|
|
|
|
для: Valick
(18.12.2008 в 00:49)
| | Вы сам хеш просто не достанете, я это имею ввиду. А Вы про что? | |
|
|
|
|
|
|
|
для: BinLaden
(18.12.2008 в 01:13)
| | А я про то, что Вы имели ввиду, до того как стали иметь ввиду то, что имеете ввиду сейчас... | |
|
|
|
|
|
|
|
для: Valick
(18.12.2008 в 01:31)
| | Подбор голого пароля был бы достаточно прост с помощью бинарного поиска, например. А с хешем так не прокатит -- нужно менять пароль так, чтобы n-ая цифра hex-представления хеша была бы такой, какая нам заблагорассудится. Что, в общем-то, невозможно. | |
|
|
|
|
|
|
|
для: antf
(17.12.2008 в 19:39)
| | Молодец! :) | |
|
|
|