Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ЧЬИМ хостингом НЕ пользоваться
Форумы портала PHP.SU » Разное » Прочее » ЧЬИМ хостингом НЕ пользоваться

Страниц (2): [1] 2 »
 

1. valenok - 12 Февраля, 2009 - 18:12:38 - перейти к сообщению
Пред исотрия..
Был человек, скрипт у него был.. однажды туда кто-то залез.
Мне заплатили не мало денег за его полную проверку, приведения в порядок, закрытие дырок
приведение в читабельный и пару доработок.
Скрипт жил очень долго спокойно.
На прошлой неделе объявился человек, сообщивший мне содержимое баз, отписался пару раз в новостях
и натворил еще пару милых дел.
Два дня я переписывал по новой всё вдоль и поперек, проискал все возможные инъекции , XSS , бэкдоры
и что только не искал. Пересмотрел каждый из сотни файлов построчно, включил magic_quotes наконец,
поменял все пароли от всех баз, от всех ФТП, от всех контрольных панелей, поменял названия всем файлам, изменил расширения, переписал mod_rewrite .
на следующий день повторилось всё по новой..

Причём ново испеченный хакер выходил в открытый контакт по асе, не ставил никаких требований,
иногда бесполезно коммантировал некоторые участки кода..
Сообщил мне какие домены припаркованны на том же аккаунте и новые пароли от базы.

решил проверить все логи - ничего особенного в них не нашёл. Решил заманить его.
Создал на сервере файл phpinfo предложил посмотреть под предлогом "проверить конфигурацию сервера" , а потом найти его п в логах и дальше фильтровать по ним.
В ответ получил сообщения вида "Яяя ? Нет.. я их уже давно видел phpinfo иначе я бы не залез"..
Чуть позже он решил снизойти до того, чтобы зарегистрироваться на этом сайте.. наконец то я получил его йп.. и опять ничего подозрительного в логах не нашёл. Не в посещениях своих "бэкдоров", ни в логах ошибок.. Через 10 минут странствий по сайту, он сообщил что ему хватит и он удаляется..
Через минуту записи о нём в базе не было..

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

На следующий день он мне сообщил уже все доммены припаркованные к другому аккаунту, моему персональному и показал содержимое нескольких скриптов. Сказал что виноват вообщем то хостер.
на вопросы что да как не отвечал
А я тем не менее пришёл я к выводу что действительно виноват хостер.
Потому что как минимум open_basedir стоит на директорию моего аккаунта .

Одного из его сообщений было следуюзего содержания:
<<
только скажу сразу что в логах меня нигде нет а если и как-то найдут то файлы закодированы и без ключа не смогут раскодировать. так что писать хостеру нет смысла
>>

Разумеется я попробовал получить доступ к файлам выше своей домашней, в ответ на все попытки разумеется получал access denied ,кроме папки /tmp
содержимое которой я досконально на всякий случай изучил.

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

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


--
Просто мысли
что он мог увидеть в phpinfo ? Неправильно настроенный open_basedir ?
Чем могла быть вызвана проблема ? Направильными правами на папки ?
На запись прав у него нет, есть на чтение..
По моим эскпериментам делается это не из другого пользовательского аккаунта, а значит он как то внедрил что на сервер.

Пока писал абзац выше, он признался что это не программа, а самописный скрипт..
Запустить его он мог либо через дырку в чьём то аккаунте, которую ему еще нужно было найти.
Судя по гуглу его аси - он рнр программист. Активности по другим языкам у него не заметил.

Возможно он запускал какуюто системную комманду, доступ к которой разрешил себе каким то образом. Есть у кого идеи ? phpinfo прикладываю
2. EuGen - 12 Февраля, 2009 - 18:18:55 - перейти к сообщению
На phpinfo ссылка битая
3. valenok - 12 Февраля, 2009 - 18:20:29 - перейти к сообщению
поправил
--
disable_functions no value no value
Как там будет format C;/ по unixовски ?
4. EuGen - 12 Февраля, 2009 - 18:22:29 - перейти к сообщению
rm -Rf /

Ссылка все еще битая
5. valenok - 12 Февраля, 2009 - 18:26:54 - перейти к сообщению
исправил еще раз
6. EuGen - 12 Февраля, 2009 - 18:30:38 - перейти к сообщению
А что за /home/lord?
+
http://www[dot]linux[dot]org[dot]ru/view-mes[dot][dot][dot]sp?msgid=1690256
там пропатчено?
7. valenok - 12 Февраля, 2009 - 18:35:32 - перейти к сообщению
/home/lord домашняя папка аккаунтов виртуального хостинга
насчёт пропатчено не знаю. Проверю.
8. EuGen - 12 Февраля, 2009 - 18:37:59 - перейти к сообщению
Судя по всему, имеет место атака с точки зрения ОС, то есть уровня за пределами PHP. Вряд ли без участия хостера можно "заткнуть" такую дыру. Это, правда, мое первое впечатление
+
disable_functions readfile,system,exec,fopen,file_get_contents,fgets

что-то в этом роде (может не помочь, если сделать у одного аккаунта)
9. valenok - 12 Февраля, 2009 - 18:40:13 - перейти к сообщению
EuGen хостер то и будет затыкать, но если еще не заткнул, то я пожалуй помогу ему заткнуть во благо остальных..

echo exec('ls -l /home/user1/domains/domain.ru/public_html/index.php');
-rw-r--r-- 1 user1 user1 7216 Feb 11 19:56 /home/user1/domains/domain.ru/pu blic_html/index.php

user1 и domain.ru я заменил немного.
Выглядит достаточно важны..
10. EuGen - 12 Февраля, 2009 - 18:47:54 - перейти к сообщению
То есть всем можно чтение делать .. странно
Для файлов хватило бы и исполнения процессом веб-сервера. Для каталогов - только чтение (даже исполнение, то есть листинг запрещен).

не сработает?)
11. valenok - 12 Февраля, 2009 - 19:02:27 - перейти к сообщению
Warning: readfile() : open_basedir restriction in effect. File(/etc/passwd) is not within the ..
а вот exec('cat /etc/passwd'); работает
12. EuGen - 12 Февраля, 2009 - 19:16:32 - перейти к сообщению
Забавно.. По идее даже на листинг не должно быть прав
Что в итоге с патчем?
13. valenok - 12 Февраля, 2009 - 19:27:57 - перейти к сообщению
с патчем не знаю, похоже не стоит.
В поддержку напишу
14. EuGen - 12 Февраля, 2009 - 19:28:53 - перейти к сообщению
Очень интересно будет узнать результат )
15. valenok - 13 Февраля, 2009 - 00:50:38 - перейти к сообщению
Ладно, разобрался. на скрипты права 751 (-rwr--x--x) и больше они не читаются =)
Спасибо.

 

Powered by ExBB FM 1.0 RC1