Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Взломали мой сайт - проконсультируйте


Автор: Geolog 3.9.2007, 16:53
Имею хостинг на masterhost.ru, на прошлой неделе пришло сообщение из службы поддержки о том, что сайт заблокирован т.к. он выполняет спамерскую рассылку, к письму приложили архив с примером спамерского письма:

Сайт создан на Joomla, включенна поддержка SSH, и запуск скриптов cron. Я залез по FTP на сайт в надежде найти скрипт который рассылает спам, сравнивал файлы по содержанию с той копией сайта, которая у меня локально на жёстком диске храниться (выгрузка сайта всегда происходила в одну сторону (в сторону хостера), поэтому в локальной копии я уверен) - ничего не нашёл, просмотрел базу mySQL, ни каких косяков тоже не обнаружил. Опцией cron я не полюзуюсь, но подключился навсякий случай по SSH посмотреть нет ли каких скриптов на запуск - ничего не нашёл. Выкачал свой сайт, поднял его на компьютере локально (использовал денвер), в надежде, что в заглушке e-mail будут появляться спамерские письма - ничего подобного не произошло.
Папка cgi-bin - пустая
Папка temp - пустая
Папка logs - пустая

Техподдержка говорит, что ничего не удаляла, просто заблокировала ресурс.

Подскажите, где можно ещё посмотреть, как вообще может работать такой скрипт.

файл с примером письма прикрепил.

P.S. все пароли остались на месте.

Автор: kostofffan 3.9.2007, 23:01
Может у тебя на сайте есть какие-то формы для отправки писем?
Или где-то вводится текст, который потом исполняется как кусок кода?

Автор: Сумасшедший 6.9.2007, 03:38
Надо пройтись поиском по скриптам, найти где используется функция mail() и добавить перед её запуском проверку переменных (адрес получателя, дополнительные заголовки и т.д.). В частности - на наличие в них символа переноса строки \n Если что-то некрасивое в переменных есть - лочить автоматом ip зашедшего на 15 минут, для разнообразия и пресечения повторов попыток атак)

Автор: Str!pe 6.9.2007, 10:21
Geolog, 
проверь все index.* страницы на предмет iframe

Автор: Geolog 7.9.2007, 15:44
Спасибо за помощь и советы.

Вредоносного скрипта я так и не нашёл. Закрадывается подозрение, что рассылка происходила не средствами PHP, а возможно, с помощью другой серверной службы. Если кто знает как это возможно, опишите  как мог работать этот спамерский механизм, чтобы знать что искать.

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

Автор: Сумасшедший 8.9.2007, 11:14
Geolog, Покопай код, где почта отправляется. А так - обычно где-то есть гостевая книга, или какое-то другое приложение которое может отправлять почту. Ему передаются дополнительные адреса для отправки и, если введенные адреса не фильтруются, то отправка выполняется на несколько ящиков. Кстати, рекомендую проверить, у кого доступ есть к скриптам сайта. В подавляющем большинстве рассылки делаются не из-за ошибок в скрипте(
 smile 
Цитата(Str!pe @  6.9.2007,  10:21 Найти цитируемый пост)
проверь все index.* страницы на предмет iframe

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

Автор: Geolog 8.9.2007, 13:46
Цитата

добавить перед её запуском проверку переменных (адрес получателя, дополнительные заголовки и т.д.). В частности - на наличие в них символа переноса строки \n


Если я правильно понял речь идёт о четвёртом аргументе функции mail()?

Код

bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])


Цитата

Если передаётся четвёртый строковой аргумент, эта строка вставляется в конце шапки/header. Обычно это используют для добавления дополнительных шапок. Несколько дополнительных шапок разделяются символами carriage return и newline.
http://www.phpclub.net/manrus/f/mail.html


Если, добавить ко всем формам отправки писем ввод секретного числа Security Images (как сделано на сайтах регистрации) - исправит ли это проблему со спамом? или проверку на дополнительные адреса лучше продублировать?

Как можно в Апаче временно отключить возможность отправлять письма - есть ли переменная сервера отвечающая за это??


Автор: mishaSL 10.9.2007, 11:11
Geolog, когда подключат сайт кинь ссылку, посмотрю, может что найду smile 

Автор: Geolog 10.9.2007, 17:19
Как поднимут сервер скину ссылку. Сейчас занимаюсь исправлением дыр - во всех функциях mail() прописываю четвёртый аргумент жестко безо всяких переменых, только кодовая страница и от кого пришёл документ.

Автор: Digo 16.9.2007, 22:49
Страно наверно хакнули какой-либо из сторонних модулей, какие стоят? Просто не разу не слышал о такой уязвимости самого ядра юмлы... И версия юмлы какая?

Автор: Geolog 22.9.2007, 10:23
Адрес сайта http://rsva-mich.ru/

Joomla! 1.0.8.1 RE Стабильная версия [ Sunshade ] 06 Марта 2006 20:00 UTC 

Дополнительные компоненты:

EasyJoomla.org Project   1.1
DatsoGallery  1.3.6.1
ReMOSitory   3.20

Если будет у кого возможность протестировать на уязвимость буду очень благодарен!

Автор: Helmeric 15.10.2007, 18:52
Geolog, а ты уверен что имел место взлом а не подделка адреса?????

Автор: MuToGeN 18.10.2007, 23:45
Cудя по заголовкам письма, тут не mail() injection, а что-то другое. С учетом того, что мамбе/юмле нужны права на запись на себя для unix юзера, из-под которого запущен веб-сервер (чаще всего - права на запись для всех), найти что-то в сорсах будет сложно. 
Я бы начал с логов апача, а не с сорсов. Например, такую штуку как <?php $func = 'ma' . 'il'; $func($_REQUEST['to'], $_REQUEST['subj'], ......); ?> найти будет сложно только по сорсам.

Автор: Str!pe 19.10.2007, 09:23
Цитата(Сумасшедший @  8.9.2007,  11:14 Найти цитируемый пост)
Грабли с ифреймами были почти у всех кто с ними столкнулся из-за хищения ftp-паролей. К тому же если во фрейме подключается внешний ресурс, то отправлять спам будет другой сайт.

прочему другой? Зачем обязательно другой ресурс?
Цитата(Geolog @  8.9.2007,  13:46 Найти цитируемый пост)
исправит ли это проблему со спамом?

Скорее да, спам руками никто рассылать не станет, но капчу теюе надо мощную делать, минимум как у Яндекса, все остальное забудь.

Автор: drakylar 30.7.2015, 11:48
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)