Всем привет. Столкнулся со следующей проблемой - на моем сайте (Joomla 3.4.1) регулярно появляются левые php скрипты, вирусного содержания.
Удалил все файлы, поставил в cron антивирус, раз в час он пересчитывает все контрольные суммы файлов и если что то меняется, он сообщает.
И вот что он мне сообщил. Сначала в папке logs/error.php появляется запись такого содержания.
2020-01-20T19:03:11+00:00 INFO 91.203.193.8 joomlafailure Имя пользователя и пароль не совпадают или у вас ещё нет учётной записи на сайтепосле этого на сайте появляются левые скрипты.
посмотрел в логах хостинга, данный IP адрес. и вот что выяснил
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:11 +0300] "GET /index.php/component/users/ HTTP/1.1" 301 304 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 7933 3333:3333
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:11 +0300] "GET / HTTP/1.1" 200 119606 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 455044 396666:33333
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:11 +0300] "POST / HTTP/1.1" 303 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 195435 139999:39999
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:12 +0300] "GET /component/users/?view=login HTTP/1.1" 301 304 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 4442 3334:3334
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:12 +0300] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 56575 40000:13333
site.ru 91.203.193.8 - - [20/Jan/2020:22:03:12 +0300] "POST //3024-day-32.php HTTP/1.1" 200 28 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.99" 8277 6666:0
то есть, злоумышленник использую /index.php/component/users/ и /component/users/?view=login каким то образом внедрил на сайт скрипт 3024-day-32.php с вирусным содержанием. Но как ?
Решил закрыть эту дыру, прописал в .htaccess следующие правила
RewriteCond %{REQUEST_URI} /component/users [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
RewriteCond %{REQUEST_URI} /component/users [NC]
RewriteCond %{QUERY_STRING} view=login [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
RewriteCond %{REQUEST_URI} /component/users [NC]
RewriteCond %{QUERY_STRING} reset?Itemid=101 [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
RewriteCond %{REQUEST_URI} /component/users [NC]
RewriteCond %{QUERY_STRING} remind?Itemid=101 [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
RewriteCond %{REQUEST_URI} /component/users [NC]
RewriteCond %{QUERY_STRING} registration?Itemid=101 [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
RewriteCond %{REQUEST_URI} / [NC]
RewriteCond %{QUERY_STRING} option=com_users&view=login [NC]
RewriteRule .* http://site.ru.ru/? [R=301,L]
в результате все попытки войти через /component/users перенаправляли на главную страницу, но это не решило проблему, хотя переадресация работает.
P.S. На сайте запрещена регистрация пользователей, вход в админку так же закрытдополнительным ключом типа site.ru/administrator/?key=password
Не пойму как получается авторизироваться на сайте и разместить левый код и как закрыть данную дыру ?