Новости Joomla

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

14 часов назад (на момент публикации заметки) была обнаружена уязвимость в популярном шаблоне-конструкторе Astroid Framework. При атаке на сайт устанавливается бэкдор — системный плагин под названием plg_system_blpayload. Если вы обнаружили этот плагин на своем веб-сайте, значит, он скомпрометирован, и вам необходимо восстановить чистую резервную копию, созданную до установки плагина.

Уязвимость позволяет загружать файлы на сайт и в дальнейшем получить права администратора Joomla.
В рамках атаки (из-за которой и была обнаружена уязвимость) на сайт устанавливался плагин plg_system_blpayload, который при каждой загрузке страницы снаружи он скрытно связывается с (платформой для SEO, работающей на черном рынке (ссылку помещать не будем, просим поверить на слово). Получает список скрытых спам-ссылок (сайты азартных игр, фишинга, мошенничества), подобранный под ваш домен, затем внедряет эти ссылки в HTML-код вашей страницы непосредственно перед рендером - невидимые для посетителей, но полностью читаемые поисковыми роботами. Это называется "отравление SEO" ("отрпавление поисковой выдачи").

Однако, эта уязвимость может использоваться в других целях. Поэтому необходимо срочно проверить ваши сайты, где стоит Astroid Framework и обновить его до версии не ниже 3.3.11. Релиз безопасности выпущен 4 часа назад (на момент написания заметки).

Скачать релиз безопасности Astroid

@joomlafeed

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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте!

Разрабатываю компонент, в котором для фронтенда есть представление с кнопкой удалить для удаления отмеченных пунктов из списка. Когда исполнение кода доходит до функции delete() в классе AdminModel (\libraries\src\MVC\Model\AdminModel.php), внутри которой исполняется строка:
Код
$table = $this->getTable();
то в $table попадает false, то есть метод не может найти или подтянуть файл таблицы administrator/components/com_anysend/tables/anysend_contact_books.php, в то время когда он там есть.
Вот определение модели \components\com_anysend\models\book.php), которая пытается получить экземпляр таблицы:
Код
class AnysendModelBook extends JModelAdmin
{
public function getTable($type = 'anysend_contact_books', $prefix = '', $config = array())
{
return JTable::getInstance($type, $prefix, $config);
}
}
А вот содержимое файла таблицы administrator/components/com_anysend/tables/anysend_contact_books.php:
Код
class AnysendTableAnysend extends JTable
{
function __construct(&$db)
{
parent::__construct('#__anysend_contact_books', 'id', $db);
}
}
Где я ошибся?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Почему getTable() не находит таблицу?
« Ответ #1 : 12.05.2020, 22:08:59 »
Где я ошибся?
Неправильный класс таблицы, значение по умолчанию $type в модели и имя файла таблицы.
Проще говоря везде.

Посмотите в любой компоненте и сделайте так же.

Мини совет `_`(Нижнее подчеркивание) - это боль
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Почему getTable() не находит таблицу?
« Ответ #2 : 13.05.2020, 01:09:30 »
Попробуйте
Код
class AnysendModelBook extends JModelAdmin
{
public function getTable($type = 'Anysend', $prefix = 'AnysendTable', $config = array())
{
return JTable::getInstance($type, $prefix, $config);
}
}
Но вообще-то имя файла класса таблицы должно совпадать с $type и в вашем случае должно быть books.

P.S. Вам это не понравится, но когда ты достиг того уровня, чтобы писать компонент, ты должен уметь читать код, в т.ч. код библиотеки CMS.
« Последнее редактирование: 13.05.2020, 01:14:37 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Re: Почему getTable() не находит таблицу?
« Ответ #3 : 13.05.2020, 09:14:42 »
Доброе утро! Спасибо всем.
Мини совет `_`(Нижнее подчеркивание) - это боль
В наименовании файла или таблицы БД? Почему?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Почему id не назначается переменной?

Автор borro

Ответов: 3
Просмотров: 980
Последний ответ 29.06.2020, 12:59:51
от borro
Почему ссылки меню одинаковые для разных представлений?

Автор borro

Ответов: 3
Просмотров: 872
Последний ответ 14.02.2020, 16:19:18
от borro
Почему строки не удалились из базы данных?

Автор borro

Ответов: 6
Просмотров: 1009
Последний ответ 28.06.2017, 10:26:48
от borro
[Решено] почему onContentPrepare не срабатывает?

Автор d0ublezer0

Ответов: 7
Просмотров: 1531
Последний ответ 07.10.2016, 08:22:57
от d0ublezer0
Сохранение расчета в таблицу MySQL

Автор KasPol

Ответов: 8
Просмотров: 1522
Последний ответ 24.06.2015, 14:59:42
от KasPol