ЧТо за дыра такая в WP

1 234
proweb.com.ua
На сайте с 05.03.2007
Offline
156
#21
CookieM:
Тому сайту лет 5 и есть его старые копии, когда там заразой и не пахло. Перставляю, обновляю все что устарело "и снова здравствуйте".

Тут есть важный момент, как переставляете?

Если на сервере присутствует уже зараза, например файл gfgdfg.php то он и останется, если поверх старую копию кидать!

Удаляйте всё вплоть до БД, и ставьте старую копию где как Вы говорите заразой и не пахло.

Очень важно!!!

Предварительно делать копию сайта даже с вирусами, не важно, перед каждой работой над устранением проблем, обновлением плагинов и тем! Это как мантру нужно повторять :)

Далее, если Вы действительно хотите бороться сами, то первый совет, и наверное единственный, по крайней мере может быть полезен в данной ситуации для Вас.

Во все корневые папки, кроме главной, и wp-admin создайте или допишите (если существует) в файл .htaccess следующие строки:


# запрет исполнения php
<Files *.php>
deny from all
</Files>
# запрет исполнения php

*Я думаю, пояснения здесь не требуются :)

А, также этот файл вложить во все папки внутри wp-admin до второго уровня, в саму wp-admin этот файл ложить нельзя! Например:

wp-admin/includes

wp-admin/images

wp-admin/js

wp-admin/js/widgets - нет необходимости, так как он есть уже в wp-admin/js

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

Удалите файлы лицензии и ридми в корне.

Можно еще кучу накидать, вплоть до паролирования самой директории wp-admin, кроме вышесказанного.

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

У меня всё, надеюсь я помог своими советами, правда это далеко еще не всё, как я и писал ранее исследовать необходимо начиная с логов хотя бы.

P.S. Я надеюсь пароль у Вас к админке и к БД не такого вида или примерно: CookieM1986 ?! В паролях настоятельно рекомендую использовать как буквы верхнего и нижнего регистров, цифры, а также спецсимволы, и длина его должна быть минимум 8-10 символов. Это касается и доступа по фтп!

---------- Добавлено 07.10.2017 в 18:01 ----------

ps axf:
в общем случае - бесполезно (без изучения внутренностей).
если на адном хостерском акке несколько сайтов и доступ есть между сайтами, то дыра может быть в любом из них. не обязательно это будет вордпресс.

Вроде как ТС писал на разных хостингах.

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

CookieM:
Момент внесения заразы в логах хостера засечь не могу, но тут возможно что я их читать не умею как следует :-)

Ищите строки в которых есть слово POST и изучайте, айпи, время занесения информации в лог, и выше действия с этим айпи.

Мы это делаем специально написанной программой, для удобства, так как осилить чтение в редакторе записей логов не каждому по силе :)

Для удобства также рекомендую использовать редактор EditPlus который подсвечивает в файле все найденные выделенные объекты, например слово POST.

FAQ group Твой форум (https://faq.wtf)
widg
На сайте с 01.01.2017
Offline
30
#22

CookieM, трояны у себя на машине искали? Это я к чему... у меня нет ни на одном WP такой проблемы и много лет не было. Была похожая ситуация на клиентском сайте, работающем на модексе, да и то, там уязвимости аякса использовали. Судя по тому, что вы рассказываете, что все оки-чпоки у вас с версиями, плагинами и темами, то больше похоже, что проблема на вашем компе.

прострация
Metal Messiah
На сайте с 01.08.2010
Offline
152
#23

Рядом на хостинге стоят сайты на Joomla? Больше чем уверен что виновата дыра в Джумле, их там миллионы.

Универсальный способ отвадить скрипткиддисов - запрет POST / PUT запросов на веб сервере (оставить только GET). Для большинства функций статического сайта или визитки этого достаточно, все будет работать, но залить не смогут. А потом уже можно неспеша искать дыру

anonymous, думай что говоришь и не забывай подписать отзыв :)
proweb.com.ua
На сайте с 05.03.2007
Offline
156
#24
Metal_Messiah:
Универсальный способ отвадить скрипткиддисов - запрет POST / PUT запросов на веб сервере (оставить только GET)

Вы вообще думаете, что пишите? :D

А как он в админку зайдет?

Metal Messiah
На сайте с 01.08.2010
Offline
152
#25

proweb.com.ua, элементарно. В .htaccess который в корне, кладется запрет POST'а, а в /administrator/ .htacccess остается старый без запрета. Для дырявой Joomla этого достаточно, и в админку войти можно. Конечно, катит не с каждым движком, но если проблема заключается в том что сайт ломают каждый день, поток спама блокируется именно так. С точки зрения ПС сайт остается рабочим, а в админке делать нечего это не VK чтобы там часами сидеть :) Вообще сайты должны работать на автомате.

CookieM
На сайте с 15.09.2013
Offline
65
#26

Ой сколько советов... Конечно переставляя с бекапа удаляю и базу и всю папку с файлами.

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

Спасибо за совет по запрету исполнения php в htaccess.

А по последнему - подскажите как запрещать POST в нем? Попробую.

proweb.com.ua
На сайте с 05.03.2007
Offline
156
#27

Metal_Messiah, во-первых тема о WP

во-вторых по джумле, если вы кладете в корень запрет, то он распространяется на все каталоги и подкаталоги, если в них явно не указано обратное!

Третье, как я и писал выше, сделать запрет во всех почти каталогах на выполнение пхп извне!

Если доступ скомпрометирован через фтп, sql, не помогут никакие запреты пост запросов.

Если зараженный файл уже присутствует на сервере, то и тут также, не обязательно выполнять POST запрос, например для рассылки спама. И кстати большинство POST запросами не пользуются, чтоб не вызвать подозрений, а точнее запутать при чтении логов.

Ваш вариант годится лишь при начальной загрузке вредоносного файла через WEB .

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

---------- Добавлено 08.10.2017 в 14:46 ----------

Metal_Messiah:
поток спама блокируется именно так

поток спама блокировать правильно функцию mail(), а если требуется отправка писем с сайта, то только через SMTP это делать. При этом письма будут иметь больше шансов не попасть в спам и дойти, в отличии от использования функции mail() в пхп.

humbert
На сайте с 16.03.2006
Offline
527
#28

Было такое - халявные темы с дырами :)

Чистил темы, удалял файлы, больше не было проблем.

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
Metal Messiah
На сайте с 01.08.2010
Offline
152
#29

proweb.com.ua, я только недавно клиентам на VPS порядок наводил. WP взломать достаточно сложно, у меня ничего не получалось и я не помню чтобы кого-то из знакомых на WP ломали, потому и было предположение что рядом на том же юзере стоят сайты с дырявой джумлой.

В .htaccess всегда можно сделать то что надо, например, разрешить POST к /wp-admin/ или как там, остальное запретить. Это отлично работает и против попыток залива шелла, и от его использования. Не согласен на счет того что POST запросы не используются. Как раз GET не используются из за того что вся строка идет в лог, а POST данные в логи не пишутся. Все спамеры результат работы которых я видел, используют обфусицированные php скрипты (залитые через шеллы), принимающие POST запросы.

"article81.php, diff17.php" и проч... Внутри код под Base64. ... путом дописывания кода в начале.

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

В начало допишите что-то из этого.

RewriteCond %{REQUEST_METHOD} POST

#RewriteRule ^ / [F]
RewriteRule ^(.*)$ hack_log\.php\?$1 [QSA,L]

При желании в hack_log.php - лог всех POST запросов в файл, так и дыру через которую заливают легко найти.

А если это все таки с компа админа - значит нужно пароль на FTP сменить или вообще FTP отключить оставить только SFTP... я уже давненько FTP не пользуюсь

proweb.com.ua
На сайте с 05.03.2007
Offline
156
#30

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

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

А еще момент, есть в пхп такая функция for цикл который заканчивается тогда как укажет злоумышленник.

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

Он в for может лимит хоть 1000000 циклов прописать, в итоге в лучшем случае аккаунт заблокируют клиента, в худшем выгонят.

Зачем блокировать POST запросы, когда можно вообще запретить запуск скриптов извне?

Плюс, если там уже залит шел, то ничего не мешает эти запреты на пост поубирать, а в моем примере даже в шел не зайдешь!

Я Вашу логику не понимаю.

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий