Немного теории о том, как это происходит и как от этого защититься.
[ad#ad-5]
Злоумышленник размещает на сервере свои скрипты, которые получают список домашних директорий пользователей и начинают поиск директорий для upload, где разрешена запись всем.
Найдя такие директории, они закачивают туда свои скрипты и через них производят попытку взлома.
Защита от подобных действий так же проста, как и сама уязвимость, - достаточно запретить запуск скриптов в таких директориях. Однако пользователи этого не делают.
Для решения этой проблемы нами был разработан и протестирован на FreeBSD следующий скрипт, который рекурсивно обходит пользовательские директории и создает .htaccess файл, отключающий исправление скриптов:
#!/bin/sh
HOME=/home
NOBODY=nobody
htaccess () {
cat "$j/.htaccess"
RemoveType php
Options -ExecCGI -Indexes
EOF
}
fixupload () {
if [ -e "$j/.htaccess" ]; then
if [ -z "`grep RemoveType "$j/.htaccess"`" ]; then
htaccess
fi
else
htaccess
chown $i:$i "$j/.htaccess"
fi
}
cd $HOME
for i in *; do
if [ -d $i/public_html ]; then
# Fix 777 upload
for j in `find $i/public_html -type d -perm 777`; do
fixupload
done
# Fix 775 nobody upload
for j in `find $i/public_html -type d -perm 775 -group $NOBODY`; do
fixupload
done
# Fix 755 nobody upload
for j in `find $i/public_html -type d -perm 775 -user $NOBODY`; do
fixupload
done
fi
done
Вам нужно только изменить значение двух переменных, указав расположение домашних директорий пользователей и пользователя, из-под которого запускается веб-сервер Apache.
:)
Комментариев нет:
Отправить комментарий