Архивы: joomla

joomla остановить нескончаемые попытки подобрать пароль

Не очень я люблю когда сервер занимается фигнёй.. и уже давно как логи все как один выглядят вот так

logs1

 

А помню были времена, когда ничего лишнего в логах не было.

Поэтому всячески рекомендую поставить этот плагин
Brute Force Stop

Незабываем включить плагин

plagin1

ну и всё наслаждаемся, спокойствием, проверил как на 3.2 так и на 2.5.20 (хотя на 2.5.4 выдавало ошибку, upgrade до 2.5.20 решил беду)

Уязвимость в tiny_mce в старых версиях joomla

Всем хорошего дня, одолела меня недавно напасть, всё грузят и грузят в пару сайтов шеллы да удаляют сайт целиком…

решил разобраться по горячим следам, что же происходит.

Первым делом идём изучать логи.

а логах довольно быстро находится частые запросы вот по такой урле

POST /index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20 HTTP/1.1

дальше в логах есть набор запросов на такие файлы, это скорее всего загрузчик шелла

 - - [17/Sep/2013:01:45:08 -0700] "GET /images/stories/3xp.php HTTP/1.1" 404 2271 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
- - [17/Sep/2013:01:45:08 -0700] "GET /images/stories/0day.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
 - - [17/Sep/2013:01:45:08 -0700] "GET /images/stories/jahat.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
- - [17/Sep/2013:01:45:08 -0700] "GET /images/stories/70bex.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
 - - [17/Sep/2013:01:45:08 -0700] "GET /images/stories/itil.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
 - - [17/Sep/2013:01:45:09 -0700] "GET /images/stories/0d4y.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"
- - [17/Sep/2013:01:45:09 -0700] "GET /images/stories/iam.php HTTP/1.1" 404 296 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6"

есть и удачные конечно, после чего уже идут запросы к самому шеллу.

ну а дальше стандартная ситуация.

вбивая первую урлу в гугл я нахожу ссылки на эксплойт

например вот один из таких
http://www.bugreport.ir/78/exploit.htm

В 2х словах, если руками обратиться по ссылке

/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20

то вас средиректит на index.php, но если у вас отключен JS то вам откроется JCE со всеми своими возможностями по заливке файла.
дальше берётся файл .php и загружается на сервер под видом gif файла, это указано и в заголовке файла и в расширении.
потом используется второй баг, и происходит переименование гиф файла в php

вот и всё, притом не важно обновлена ли ваша joomla 1.5 до последней, забыл уже какая там 1.5.26 вроде, этот пакет видимо не входит в стандартную поставку джумлы. поэтому его нужно обновить в ручную, например скачать новую версию вот тут
https://www.joomlacontenteditor.net/downloads/editor/joomla15x
и установить на свой сайт.

второй момент, это запретить запуск php файлов из каталога /images логично же вполне? зачем в картинках исполнять пхп файлы? (вообще по хорошему бы разделить те файлы которые могу исполняться и те файлы которые могу загружаться извне. именно выстраивать систему прав и доступа так, чтоб то, куда можно загружать не могло быть исполнено, и то где можно что-то исполнять было невозможно туда загрузить что-то. )

поэтому в /images создаём файл .htaccess с вот таким содержимом

<Files *.php>
Deny from all
</Files>

ну и обаятельно проверить, закинуть туда простенький файл и проверить его выполнением..

joomla update to 3.2

Fatal error: Call to a member function get() on a non-object in /****/www/plugins/system/remember/remember.php on line 94

нежданная подстава в неудачное время 🙁

Интересная задачка появлялась, на мультиязычном (joomFish) сайте хотелось, чтоб у каждого языка была своя шапка.

ну чтож не проблема

Воспользовался вот такой конструкцией

<? $lang = JFactory::getLanguage();  ?>
    <div id="header" style="background-image:url('<?php echo $this->baseurl ?>/templates/
<?php echo $this->template ?>
/images/header-<?php echo $lang->_lang ?>.jpg')">

в $lang->_lang — у нас текущий язык.

подготавливаем файлы по примерно такой схеме
header-ru-RU.jpg
header-zh-CN.jpg
header-en-GB.jpg

и готов 🙂

joomla Lightbox

Вот так он называется

Сам находится вот тут

Один из немногих, которые поехал сразу, на страничке есть примеры использования

Страница 1 из 3123