Как устранить уязвимость

Статус
В этой теме нельзя размещать новые ответы.

bvb

Мастер
Регистрация
17 Май 2009
Сообщения
189
Реакции
31
На один из моих сайтов под видом картинки залили шелл. Как устранить уязвимость?
 
Если хостинг разрешает использовать свой .htaccess , то положи его в папку уплоад, внутри хтаццес-а запрет на работу php

можно еще намудрить
PHP:
# запрет листинга всех папок и под-папок
Options -Indexes
 
 
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp
 
 
# Отключаем PHP.
RemoveType php
 
 
<IfModule mod_php4.c>
  php_flag engine 0
</IfModule>
 
<IfModule mod_php5.c>
  php_flag engine 0
</IfModule>
 
 
# запрет на запуск файлов
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml 
 
# запрет доступа к файлам
Order Deny, Allow
Deny from all

Произведи следующий набор манипуляций:
Проверка расширения
Проверка mime-type
Создание нового изображения из полученного файла
Обрезка и масштабирование картинки, сохранение нового файла

Если уже залили шелл, то испортили весь сайт через него 100% (понатыкали резервные копии шеллов в другие папки)
 
  • Нравится
Реакции: bvb
  • Заблокирован
  • #3
Скачай все файлы с хостинга и проверь каспером или другим антивирусником с обновленными базами, шеллы точно прибьются, а iframe уж ищи ручками в индексных файлах.
 
Скачай все файлы с хостинга и проверь каспером или другим антивирусником с обновленными базами, шеллы точно прибьются
Только ламер будет заливать шелл, который палится антивирусом. Достаточно внести некоторые изменения в сурс, чтобы шелл не попадал под сигнатуру и все.
Создание нового изображения из полученного файла
Обрезка и масштабирование картинки, сохранение нового файла
Так и нужно делать всегда. Прежде чем помещать на сервер картинку от пользователя ее (картинку) нужно соответствующим образом обработать. Это исключает возможность залить шелл через картинку.
 
Дали советы как узбиватся от конкретного этого шелла, но ведь кто знает где и сколько их спрятано. Надо не шеллы удалять, а в первую очередь латать уязвимости, через которые они заливаются и будут заливаться и далее, если их не закрыть.
Тут возможно три варианта:

- Брешь находится у всего хостера. Поимев шелл на одном из соседних сайтов при коряво настроенном сервере злоумышленникам не составляет труда добраться до остальных сайтов на этом хостере.

- Уязвимости в движке. Если вы используете самописный движок, то имеет смысл заказать аудит кода, либо самому тщательно разбираться в коде, выявлять и латать всевозможные опасные места в вашей системе.
Если же вы используете одну из популярных цмс, то имеет смысл пройтись по баг-трекерам и посмотреть, нет ли там новых сведений об уязвимостях в используемом вами движке ( часто, популярные движки используют всевозможные модули и хаки, которые пишутся сторонними разработчиками, и соответственно, найти уязвимости в таких скриптах куда легче, чем в самой цмс)

- Ваша личная безопасность. Постоянно будьте на чеку в плане безопасности личного компьютера. Всевозможные вариации троянов сейчас невероятно популярны - ведь возможно украсть всю информацию, начиная с личной мейл-переписки и аккаунтам к личным и остальным сайтам, заканчивая веб-мани кошельками и личных фото-архивов.
 
По мне так последовальность такая - найти шел ( по наличию eval or base64 ) ,
затем найти в логах как он появился. (если серв корректно настроен и еще без руткита то в логах он будет) проследить ход действий. вычистить, закрыть.
Поставить на серв clamav, rkhunter etc...
Ну блокировать запуск .php Не лишне конечно..(хотя если есть Perl то не поможет)
 
  • Заблокирован
  • #8
В добавок
Если шелл в отдельном файле а их очень много, Можно запаковать весь сайт лежащий на сервере в архив - бэкапом или еще какнить... и потом с компа проверить антивирусом Kaspersky internet Security..
Каспер знает известные шеллы.
демка полнофункциональная на 30 дней и потом можно сбросить её снова..

Найти еще где шелл можно сканерамами типа XSpider и другими..
и Проблема может быть у сервера а не у тя....
Надо думать про другой хостинг если проблема не решается
 
обычно хватает такого:
перед загрузкой файла определять mimo_type что за файл тебе грузят
 
Честно говоря, особо толковых советов не увидел.
Во первых, скачиваешь ВСЕ логи к себе на комп, и неспеша читаешь их, для того что бы выяснить, как шелл попал на хост. Вариантов может быть уйма, шелл можно загрузить как через багу в движке, так и через фтп, украв пароли с компа администратора (что маловероятно, конечно). Если попытки увенчаются успехом - просто прикрываешь багу (если найдешь - стукни в ПМ, расскажу как), иначе потребуется заказать аудит безопасности у крутых парней ;-)

P.S. Если под видом картинки, то скорее всего бага находится в какой то из форм загрузки чего либо - уязвимость движка.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху