LINUX.ORG.RU

Хак Joomla 1.0.x


0

2

Доброго времени суток всем!

Так уж получилось, что приходится админить сайт который крутится на глючтой и дырявой Joomla 1.0.X. Сегодня сайт упал. Когда выполняются запросы мускула, почему-то запросы остаются со статусом Sleep и при этом загрузка страницы висит.

+-----+----------+-----------------+----------+---------+------+-------+------------------+----------+
| Id  | User     | Host            | db       | Command | Time | State | Info             | Progress |
+-----+----------+-----------------+----------+---------+------+-------+------------------+----------+
| 136 | sound_sm | localhost:52183 | xxxxxxxx | Sleep   | 8    |       |                  | 0.000    |
| 137 | sound_sm | localhost:52185 | xxxxxxxx | Sleep   | 6    |       |                  | 0.000    |
| 138 | sound_sm | localhost:52187 | xxxxxxxx | Sleep   | 6    |       |                  | 0.000    |
| 140 | sound_sm | localhost:52191 | xxxxxxxx | Sleep   | 5    |       |                  | 0.000    |
| 141 | sound_sm | localhost:52193 | xxxxxxxx | Sleep   | 3    |       |                  | 0.000    |
Запрет в php.ini «mysql.allow_persistent = Off» ни к чему не привел, как и «wait_timeout = 10» в my.cnf. Запросы так и продолжают висеть пока таймаут не прибьет. Поначалу думал что проблема в системе. Пробовал пересобирать MySQL и php, менять версии, но безрезультатно. Пробовал курить доку, но тоже безрезультатно. Так же обнаружил у себя очень интересный файл в папке с картинками. Просьба php знатоков взглянуть на него и поведать что он делает.

Каковы могут быть причины подобного завиcания запросов?

Заранеее очень благодарен за ответы!

★★★★★

Врятли проблема в жумле, она где-то под ней.

Какая ОС? Пробовал перезапустить mysql?

Что с трафиком? Может ддос или бот-эффект такой что mysql не справляется? («netstat -n | wc -l»)

Файл с картинкой интересный. Пока хз что это, но надо убрать. Когда он был загружен? Залит он был наверняка через дыру в жумле. Не знаю что посоветовать кроме как поменять пароли на ssh, потом отгрепать логи веб-сервера с именем этого файла и заблокировать в iptables IP залившего.

anonymous
()

Такого файла не существует, доступ к нему ограничен или он был удален из-за нарушения авторских прав.

А что, на нормальный хостинг залить нельзя было?

AlexCones ★★★
()
Ответ на: комментарий от anonymous

Спасибо за ответы.

Какая ОС? Пробовал перезапустить mysql?

OS: Gentoo linux. Думал проблема в ядре версии 3.7.1. Пробовал откатится на 3.5.5 на котором пару месяцев работал, результат один и тот же. Конечно же пробовал перезапускать мускуль. Но это картину не меняет.

Что с трафиком? Может ддос или бот-эффект такой что mysql не справляется? («netstat -n | wc -l»)

netstat -lantp | grep fpm | wc -l
20

Столько же, сколько и и висящих запросов в мускуле. Траффика нету, это точно не DDOS.

Файл с картинкой интересный. Пока хз что это, но надо убрать. Когда он был загружен?

Убрал уже, но скорее всего дело не в нем, так как он был залит на сервер 19-го декабря прошлого года.

Залит он был наверняка через дыру в жумле. Не знаю что посоветовать кроме как поменять пароли на ssh, потом отгрепать логи веб-сервера с именем этого файла и заблокировать в iptables IP залившего.

Понятное дело что через джумлу. Прогрепал логи, так ничего и не нашел. Пароли поменял. Для меня самое главное сейчас восстановить работу сайта. Все остальное уже после.

iron ★★★★★
() автор топика
Ответ на: комментарий от iron

Странно.

Попробуй сделать какой-либо запрос данных из этой базы вручную и/или из само-писного (не джумловского) скрипта.

Если он тоже пойдёт спать, то возможно проблема в самой базе и стоит снять с неё дамп, удалить, создать и закачать данные по-новой.

anonymous
()
Ответ на: комментарий от anonymous

Вручную запросы быстро выполняются и не уходят в сон. По моему я нашел зацепку которая меня выведет на решение проблемы. При «allow_url_fopen = Off» все начинает летать. Судя по всему, какая-то гадость где-то через fopen что-то пытается тащить. И поскольку оно открывает линк с «лежащего» хоста, оно виснет вешая выполняемый в джумле таск. Правда я еще не нашел где именно это гадость прописалась. И скорее всего не найду кудой пролезло.

Посмотреть куда оно ломится я так и не смог. У меня там бридж настроен. Когда пытаюсь посмотреть трафик, оно матерится:
[code]# tcpdump -I br0 src XXX.XXX.XXX.XXX -n dst port 80
tcpdump: eth0: That device doesn't support monitor mode[/code]
А когда пытаюсь слушать eth0, то оно конечно матерится:
[code]tcpdump: WARNING: eth0: no IPv4 address assigned[/code]
... и ничего не показывает.

В любом случае большое спасибо. Хоть проблему не решили, зато натолкнули на нужные мысли! :)

iron ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.