2. Ваша CMS проверяет, что
загружают?
• Отсутствие комплексной проверки
файла или ошибка в проверке
• Загрузка файла с расширением .PHP
вместо картинки
• Интерпретция apache'ем файлов
image.php.jpg как файла .php
• Функция fileinfo()
3. Превьюшки картинок
• Для простоты в параметре просто путь.
Например было долго у TinyMice
• Это же превьюшка, зачем там что-то
проверять?
• Одна из наиболее популярных
уязвимостей WordPress
4. Как искать
• Искать файлы .php начинающиеся на
GIF89
• 'eval(base64_encode(' обычно нужно
только для сокрытия кода
• *.php в папке /images/, /img/, /upload/,
/files/
5. Что с этим делать клиенту
• Универсального способа нет.
• Антивирусы не имеют базы сигнатур
дырок CMS
• CMS делают исправления только
нового кода. Обновляться.
• Закрывать исполнение php в папках для
загрузки
6. Что делать нам
• Универсального способа нет.
• Я предоставляю шаблоны nginx с
закрытыми каталогами картинок
• 1GB.RU по шаблону вроде /wp-admin/
перекидывает на страничку
подтверждения
• mod_security?