0 Пользователей и 1 Гость просматривают эту тему.
  • 55 Ответов
  • 2639 Просмотров
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
если у вас блог то да
а если что то иное портал доска или магазин то на четверке еще нет необходимого инструментария
Причем тут блог? Там вообще не важно что у вас, дыра в самой системе
--
UPD: А я понял, на 4ку не удобно переходить?
Перенесу ВАШУ joomla на версию 4 за мани))
« Последнее редактирование: 16.10.2021, 15:46:01 от SalityGEN »
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
В этих версиях обнаружены RCE (произвольное выполнение кода)
Приведу не критичное доказательство
И ?
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
И ?
Я критичное приводить здесь не буду, в целях безопасности.
А то что показано на скринах, простым языком, в логи попала запись о выходе из админки пользователя который никогда туда не заходил, это благодаря токену который дается во вьюхе которую я не должен был увидеть.
Это всего лишь самое начало, дальше раскрутили это в RCE, создали админа этим багом, поместили его в группу этим багом, зашли в админку, создали файл php с шеллом.
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Попробуйте сами:
1) Разлогиньтесь
2) перейдите по ссылке: http://ваш_домен/administrator/index.php?option=com_media&folder=&format
3) Нажмите кнопку выйти
4) Залогиньтесь в админку как обычно, и посмотрите на логи
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
Не верю, иначе уже давно бы с помощью AJAX взломали бы все Joomla
Цитировать
Токены используются для защиты форм от спамовых атак. Однажды токен
был сгенерирован, система проверит почтовый запрос, чтобы узнать, он присутствует, в противном случае он сделает сеанс недействительным.
Код
public static function getFormToken($forceNew = false)
{
$user    = \JFactory::getUser();
$session = \JFactory::getSession();

return ApplicationHelper::getHash($user->get('id', 0) . $session->getToken($forceNew));
}
« Последнее редактирование: 16.10.2021, 16:22:54 от draff »
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Не верю, иначе уже давно бы с помощью AJAX взломали бы все Joomla
ну 0day не так часто находят, осталось подождать когда на эту ветку наткнутся заинтересованные люди.
И кстати, лучшая компрометация сервера это та компрометация которой не видно, все может уже произошло, но очень очень тихо)
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
в общем всем "спокойной ночи"  ;D
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
ну 0day не так часто находят, осталось подождать когда на эту ветку наткнутся заинтересованные люди.
Даже Google уже знает
Код
&format=raw&'. JUtility::getToken().'=1'
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Не верю, иначе уже давно бы с помощью AJAX взломали бы все Joomla
Код
public static function getFormToken($forceNew = false)
{
$user    = \JFactory::getUser();
$session = \JFactory::getSession();

return ApplicationHelper::getHash($user->get('id', 0). $session->getToken($forceNew));
}
Токен это одно из составляющих для атаки, суть в том что в логи попадает и не только
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Даже Google уже знает
Код
&format=raw&'. JUtility::getToken().'=1'

Ответил в лс
*

ProtectYourSite

  • Живу я здесь
  • 2254
  • 126 / 4
  • Безопасность вебсайтов
Подпишусь, надо будет на днях проверить?
Главный вопрос, откуда берется токен?
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Есть быстрофикс!

Запретите этот параметр GET запроса
/administrator/index.php?option=com_media&folder=&format
На какое то время поможет прикрыть форточку, но все таки задумайтесь над обновлением, по мимо этого бага там еще и роутинг кривой
« Последнее редактирование: 16.10.2021, 18:30:23 от SalityGEN »
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
В .htaccess

После строки
RewriteEngine On

Прописать вот это
RewriteCond %{QUERY_STRING} format [NC]
RewriteRule ^.*$ - [R=404,L]
« Последнее редактирование: 16.10.2021, 18:25:34 от SalityGEN »
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
В com_media отдает 403, но почему форма выводится, не искал .
Код
// Access check.
if (!$user->authorise('core.manage', 'com_media') && (!$asset || (!$user->authorise('core.edit', $asset)
&& !$user->authorise('core.create', $asset)
&& count($user->getAuthorisedCategories($asset, 'core.create')) == 0)
&& !($user->id == $author && $user->authorise('core.edit.own', $asset))))
{
throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403);
}
Исправить , чтобы не подключало лишние плагины, строка 1007
Код
if( empty($parameters['username']) ) {
return false;
}
*

effrit

  • Легенда
  • 10098
  • 1112 / 13
  • effrit.com
товарищи, объясните, плиз, для чайников, кому стоит бояться и чего делать?
эта дыра на всех действует или только для сайтов, в которых есть несколько юзеров с разными правами? т.е. баг с повышением прав?
и как фиксить, если не через htaccess (просто format часто используется в скриптах, например, чтобы получать содержимое страницы)
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
В com_media отдает 403, но почему форма выводится, не искал .
Код
// Access check.
if (!$user->authorise('core.manage', 'com_media') && (!$asset || (!$user->authorise('core.edit', $asset)
&& !$user->authorise('core.create', $asset)
&& count($user->getAuthorisedCategories($asset, 'core.create')) == 0)
&& !($user->id == $author && $user->authorise('core.edit.own', $asset))))
{
throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403);
}
Исправить , чтобы не подключало лишние плагины, строка 1007
Код
if( empty($parameters['username']) ) {
return false;
}
com_media был для примера, он не причем! подойдет любой com_
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
com_media был для примера, он не причем! подойдет любой com_
Так проверяйте на любом. Я дал решение, не нравится не применяйте .
Будете ли Вы переходить с Joomla 3.x на Joomla 4?
*

voland

  • Легенда
  • 11032
  • 587 / 112
  • Эта строка съедает место на вашем мониторе
RewriteCond %{QUERY_STRING} format [NC]
RewriteRule ^.*$ - [R=404,L]
Тогда уж
Код
RewriteCond %{QUERY_STRING} &format [NC]
RewriteRule ^.*$ - [R=404,L]
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
, объясните, пожалуйста, для чайников, кому стоит бояться и чего делать?
трабл в плагине user/joomla , нужно чтобы возвращал false , is true
   public function onUserLogout($user, $options = array())
   {
      $my      = Factory::getUser();
      $session = Factory::getSession();

      // Make sure we're a valid user first
      if ($user['id'] == 0 && !$my->get('tmp_user'))
      {
         return true;
      }
Чтобы потом не срабатывал код, откуда наверно и пишутся логи
      
Код
// OK, the credentials are built. Lets fire the onLogout event.
$results = $this->triggerEvent('onUserLogout', array($parameters, $options));

// Check if any of the plugins failed. If none did, success.
if (!in_array(false, $results, true))
{
$options['username'] = $user->get('username');
$this->triggerEvent('onUserAfterLogout', array($options));

return true;
}
Мое решение исключает подключение в плагины.
Будете ли Вы переходить с Joomla 3.x на Joomla 4?
« Последнее редактирование: 17.10.2021, 16:45:13 от draff »
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
У нас на форуме есть люди @Progreccor которые считают что я развожу истерику, считаю минус не заслуженным, и однажды, я уберу его не зарепортив баг который найдется и на этом форуме.
« Последнее редактирование: 16.10.2021, 20:14:07 от SalityGEN »
*

b2z

  • Глобальный модератор
  • 7207
  • 776 / 0
  • Разраблю понемногу
Вместо того, чтобы публично обсуждать уязвимость, лучше отправить команде безопасности Joomla сообщение о найденной уязвимости:

https://developer.joomla.org/security/contact-the-team.html

Это наиболее верный и корректный путь в мире программного обеспечения.
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
обсуждать уязвимость,
Смотрите мой пост выше Будете ли Вы переходить с Joomla 3.x на Joomla 4?
Вспомните сколько было вопросов, что в админке два админа светятся .
*

setitle

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Есть быстрофикс!

Запретите этот параметр GET запроса
/administrator/index.php?option=com_media&folder=&format
На какое то время поможет прикрыть форточку, но все таки задумайтесь над обновлением, по мимо этого бага там еще и роутинг кривой
В чем проблема поставить пароль на папку administrator?? Да еще и по белому списку IP. Никто лишний не будет ломиться и не страшны никакие уязвимости.
в корне хостинга
<Files .htpasswd>
   deny from all
</Files>
и файл с паролем.
----
в папке administrator
    <Files index.php>
    order deny,allow
    deny from all
    #паша
   allow from 199.0.99.12
   #маша
   allow from x.x.x.x
   #илья
   allow from x.x.x.x/x
   #михаил
   allow from x.x.x.x
   #обама
   allow from x.x.x.x
    </files>
   
AuthType Basic 
AuthName "Private zone. Only for administrator!"
AuthUserFile      /var/www/xxxxxx/data/account_name/.htpasswd 
require user admin root
-------------
ну Google подробнее расскажет.
и все. пусть хоть заломятся. даже если пароль сломают, то IP точно не подберут :)))
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
В чем проблема поставить пароль на папку administrator?? Да еще и по белому списку IP. Никто лишний не будет ломиться и не страшны никакие уязвимости.
в корне хостинга
<Files .htpasswd>
   deny from all
</Files>
и файл с паролем.
----
в папке administrator
    <Files index.php>
    order deny,allow
    deny from all
    #паша
   allow from 199.0.99.12
   #маша
   allow from x.x.x.x
   #илья
   allow from x.x.x.x/x
   #михаил
   allow from x.x.x.x
   #обама
   allow from x.x.x.x
    </files>
   
AuthType Basic 
AuthName "Private zone. Only for administrator!"
AuthUserFile      /var/www/xxxxxx/data/account_name/.htpasswd 
require user admin root
-------------
ну Google подробнее расскажет.
и все. пусть хоть заломятся. даже если пароль сломают, то IP точно не подберут :)))
Можно, но не у всех может оказаться апач нужной версии, в некоторых версиях есть атака на http basic auth
Вроде в 2.18.49 - 2.18.50 версиях. А так да, тоже норм вариант.
« Последнее редактирование: 17.10.2021, 23:08:25 от SalityGEN »
*

draff

  • Гуру
  • 5747
  • 424 / 7
  • ищу работу
Можно, но не у всех может оказаться апач нужной версии, в некоторых версиях есть атака на http basic auth
Применение тактики запугивания манюпаса набором из античата .
SSL в помощь .
*

SalityGEN

  • Захожу иногда
  • 193
  • 7 / 1
  • Делаю мир лучше
Применение тактики запугивания манюпаса набором из античата .
SSL в помощь .
Да, с SSL эти баги на апач становятся еще интереснее   ;D
Я никого не запугиваю а призываю обновляться, и разрабатывать свои проекты с учетом перехода на обновления.
Все обновы окружения выходят не только ради каких то новых плюшек, там еще и дыры латают.
Кстати могу провести аудит безопасности ваших проектов. (нужен только домен)
--
Информация для тех, кто использует сторонние компоненты и не может обновиться:
Вы сознательно установили софт который не знаете как работает получив при этом технический долг и теперь все зависит от сторонних разработчиков.
« Последнее редактирование: 18.10.2021, 11:37:02 от SalityGEN »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Cannot access protected property Joomla\CMS\Menu\MenuItem::$params - Joomla 4.x:

Автор CraftElectric

Ответов: 3
Просмотров: 96
Последний ответ 15.01.2022, 15:34:42
от CraftElectric
Joomla 4 подключение CSS в шаблон

Автор druk3pl

Ответов: 4
Просмотров: 115
Последний ответ 15.01.2022, 14:41:14
от anatol81n
Вышел релиз Joomla 4.0.4

Автор b2z

Ответов: 2
Просмотров: 245
Последний ответ 14.01.2022, 11:30:13
от ChaosHead
Мастер установки Joomla 4.0.5

Автор kirill_r

Ответов: 13
Просмотров: 289
Последний ответ 11.01.2022, 15:19:15
от b2z
Переход на Joomla4: Call to undefined method Joomla\CMS\Router\SiteRouter::getMode()

Автор Отпад

Ответов: 4
Просмотров: 199
Последний ответ 29.12.2021, 01:13:45
от onetwothree