From 939e63a548b50545fd68e241760577aa14a34b92 Mon Sep 17 00:00:00 2001 From: Nik Dm Date: Fri, 28 Feb 2020 06:13:37 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=8F=D0=B7=D0=B2=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20-=20=D0=B7=D0=B0=D0=BB=D0=B8=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BB=D1=8E=D0=B1=D0=BE=D0=B3=D0=BE=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=20=D0=B2=20=D1=84=D0=BE=D1=82=D0=BE=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=B1=D0=BE=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверки $_FILES...['type'] на image/* недостаточно, так как это значение можно подделать. Залитый .php файл как демонстрация https://mobilecms.pro/files/photo/27.php Хорошо что исполнение php отключено для папки /files/, но уязвимость лучше пофиксить. --- modules/photo/controllers/photo.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/photo/controllers/photo.php b/modules/photo/controllers/photo.php index 7e3bd4d..90e4a27 100644 --- a/modules/photo/controllers/photo.php +++ b/modules/photo/controllers/photo.php @@ -523,7 +523,10 @@ public function action_edit_photos() $file['filesize'] = filesize($_FILES['file_upload']['tmp_name']); if (!strstr($_FILES['file_upload']['type'], 'image/')) + $this->error .= 'Неверный формат фотографии! Разрешены только gif, jpg и png
'; + elseif ($file['file_ext'] != 'jpg' && $file['file_ext'] != 'jpeg' && $file['file_ext'] != 'gif' && $file['file_ext'] != 'png') $this->error .= 'Неверный формат фотографии! Разрешены только gif, jpg и png
'; + } else if (!empty($_POST['file_import']) && $_POST['file_import'] != 'http://') { $type = 'import'; $file['real_name'] = main::detranslite(basename($_POST['file_import']));