Безопасность загрузки пользовательских файлов WordPress / FTP - PullRequest
0 голосов
/ 27 января 2010

Моя процедура загрузки файлов сначала проверяет, вошел ли пользователь в приложение WordPress, в котором размещена форма загрузки ... ПРОВЕРИТЬ!

Вот код в верхней части моей утилиты загрузки, которая делает это ...

if (!is_user_logged_in()){
    die("You Must Be Logged In to Access This");;
}

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

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

Так что мой вопрос - это советы о том, как дополнительно защитить загрузчик, чтобы не было отправлено вредоносных файлов. Желаемые разрешенные файлы: .php, .jpg, .gif, .png

1 Ответ

0 голосов
/ 27 января 2010

Ваш подход идет не в ту сторону. Вам необходимо убедиться, что ни один из файлов в ZIP-файле никогда не будет использован в ситуации , в которой вредоносные файлы могут нанести какой-либо ущерб.

Вы никогда не сможете гарантировать, что загруженный ZIP-файл содержит только неопасные данные. Чтобы сделать это, вам придется проверить его на вирусы, проанализировать содержащий PHP-код и еще много чего.

Просто посмотрите, что бы ни содержалось вредоносное, никогда не раскроется.

Например, для сценариев PHP вы должны убедиться, что они не хранятся где-либо, где они могут быть вызваны извне и выполнены.

Для изображений .... Ну, если вы хотите полностью убедиться, что они не содержат никаких эксплойтов, атакующих компоненты, отображающие изображения, вы всегда можете скопировать их, используя PHP gd функции, уничтожая любые метаданные EXIF ​​( и, вероятно, любые другие вредные вещи) в процессе.

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

Как сделать безопасный скрипт загрузки файлов в php?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...