Pull to refresh

Простой способ защиты от заливаемых шеллов и иже с ними скриптов в папки uploads

Reading time1 min
Views1.4K
Друзья, дабы не утомлять длинной речью, решил просто поделиться (кому-то напомнить) простой способ защиты от заливаемых скриптов в папки загрузок.

Ситуация: есть папка uploads, куда разрешено заливать, скажем изображения. И права у нее всем ясно какие. Так вот, обладатели некоторых движков, все-таки имеющих некоторые уязвимости (неважно по какой причине) могут иногда наткнуться на залитые в эту папку скрипты, как к к своему удивлению я это обнаружил у себя. А это, сами понимаете, иногда чревато последствиями.



Так вот теперь, во все папки для аплоада файлов я добавляю файл .htaccess (если его там нет) со следующими строками:

RemoveHandler .php
AddType text/html .php
AddHandler server-parsed .php


Теперь, если директивы .htaccess у Вас поддерживаются, даже если файлы будут залиты, они не будут выполняться. К слову, расширение может быть не только .php а любое другое, или их набор через пробел. Опуская в данном посте проблему замены расширений, правильно настроенных доступов — мы получаем вполне простое и быстрое, а главное выполнимое для слабо квалифицированных пользователей решение уменьшения критических уязвимостей.

p.s. В дополнение скажу, что когда приходится использовать аплоад изображений в своем коде — кроме стандартных средств ограничения заливаемых файлов использую для записи не просто сохранение — а загрузку изображения из переданного POST библиотекой GD, и сохранение на диск изображения вышеназванной библиотекой, так как таким методом кроме изображений ничего не сохранишь. Может и параноидально, зато с вышеописанным .htaccess дает неплохой результат.
Tags:
Hubs:
Total votes 20: ↑8 and ↓12-4
Comments19

Articles