Функционал современных сайтов содержит довольно много форм, позволяющих пользователю загружать произвольные файлы на сервер. Это могут быть изображения, документы, pdf файлы и т.д. Веб-разработчики зачастую используют концепцию "черного списка", прямо запрещающего загрузку потенциально опасных типов файлов: .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml.

Использование черного списка не убережет владельца сайта от потенциальных рисков обхода фильтрации. Например, в новой версии PHP 7 добавлено новое расширение .php7, которое позволит обойти фильтрацию. Не все разработчики знают об этом и успели добавить его в черный список. Наиболее предпочтительный способ фильтрации - применение "белого списка" - разрешение на upload только определенных типов файлов, причем необходимо учитывать и MIME-type. Это позволит минимизировать риски уязвимостей обхода фильтрации загрузки файлов - arbitrary file upload.

Для тех, же, кто по каким-то причинам не может использовать "белый список", ниже представлены расширения php, которые могут позволить злоумышленнику обойти т.н. фильтрацию заливки php шелла:.

  • .php3;
  • .php4;
  • .php5;
  • .php6;
  • .php7;
  • .phtm;
  • .phtml;
  • .pht