Перейти к содержимому


Фото
- - - - -

Серьёзная уязвимость


  • Чтобы отвечать, сперва войдите на форум
31 ответов в теме

#1 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 14:23

Нашли серьёзную уязвимость. Через дефолтный загрузчик файлов в визульном редакторе легко загружаются php файлы и так же легко выполняются. Через него легко залить шелл и получить доступ ко всему серверу не говоря уже про сам сайт. В таком случае разграничения прав не имеют значения если у пользователя есть доступ визуальному редактору в любом разделе.
Особенно эта уязвимость касается тех кто предоставляет демо админки с какой-то доработкой. Через заливку шелла можно легко выкачать весь сайт и сделать дамп базы данных. К тому же можно получить доступ к другим сайтам на сервере.

Изменено: STM, 22.01.2018 - 14:26


#2 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 555 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 22.01.2018 - 14:31

Проверил, да действительно.

#3 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 14:43

Собственно пруф. За 1 минуту залил шелл и получил доступ к сайту демки Simpla.
2018_01_22_133808.jpg

Изменено: STM, 22.01.2018 - 14:57


#4 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 357 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 22.01.2018 - 15:47

Да создатели плагина даже и не скрывали такое дело — скрин из доки плагина:

 

screen_location_configphp.jpg



#5 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 15:58

Да создатели плагина даже и не скрывали такое дело — скрин из доки плагина:

 

screen_location_configphp.jpg

 

Да это ладно. Загрузить то можно. Скрипт не должен выполняться из папки /files/uploads

Почему-то .htaccess в паке files не запрещает выполнение. В старых версиях эта уязвимость вроде не работает.


Изменено: STM, 22.01.2018 - 16:00


#6 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 16:07

Если заменить содержимое файла .htaccess в паке files

 

на 

php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

То всё ок.

Файл выполняется как html


Изменено: STM, 22.01.2018 - 16:07


#7 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 357 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 22.01.2018 - 16:09

Если заменить содержимое файла .htaccess в паке files

 

на 

php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

То всё ок.

Файл выполняется как html

 

я также прочитал ту же статью на Хабре и так уже делал, но у меня срабатывает все равно


Изменено: Maksclub, 22.01.2018 - 16:10


#8 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 16:10

я также прочитал ту же статью на Хабре и так уже делал, но у меня срабатывает все равно

 

На демке закрылась уязвимость. Видимо дело в разных серверах.  



#9 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 357 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 22.01.2018 - 16:12

На демке закрылась уязвимость. Видимо дело в разных серверах.  

 

да, на недели вообще на Nginx перенесу,позже убью эту проблемку...



#10 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 16:33

да, на недели вообще на Nginx перенесу,позже убью эту проблемку...

 
Лучше всего сразу обновить TinyMCE и сменить загрузчик на responsive filemanager.

#11 yr4ik

yr4ik
  • Фрилансер
  • 846 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 22.01.2018 - 16:41

 
Лучше всего сразу обновить TinyMCE и сменить загрузчик на responsive filemanager.

 

думаете достаточно? Дайте доступ к админке и я вам и там загружу 



#12 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 16:49

думаете достаточно? Дайте доступ к админке и я вам и там загружу

По крайней мере там не разгружаются php.

Есть какое-то лучше решение?
Можно то загрузчик вообще отключить.
Ну это не поможет так как нужно защитить всю директорию files. Так как залить можно и через цифровые товары.

Изменено: STM, 22.01.2018 - 17:01


#13 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 555 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 22.01.2018 - 17:19

Лучше всего сразу обновить TinyMCE и сменить загрузчик на responsive filemanager.

Лучше уж http://www.moxiemanager.com/

#14 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 22.01.2018 - 17:39

У меня получилось через

 

Order Deny, Allow
Deny from all
 

сделать запрет.



#15 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 23.01.2018 - 00:17

На демке закрылась уязвимость. Видимо дело в разных серверах.  

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

 

/simpla/design/js/tiny_mce/plugins/smexplorer/php/action.php

найти action = upload и добавить проверку.

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


Изменено: a13x, 23.01.2018 - 00:26


#16 yr4ik

yr4ik
  • Фрилансер
  • 846 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 23.01.2018 - 00:37

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

 

/simpla/design/js/tiny_mce/plugins/smexplorer/php/action.php

найти action = upload и добавить проверку.

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

 

Без доступа к админке этот файл под защитой http авторизации.

А вот если авторизовался то почти полный карт-бланш


Изменено: yr4ik, 23.01.2018 - 00:38


#17 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 23.01.2018 - 00:57

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

 

/simpla/design/js/tiny_mce/plugins/smexplorer/php/action.php

найти action = upload и добавить проверку.

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

 

Дело в том что в папке files есть .htaccess с содержимым 

RemoveType .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml

Который должен запрещать выполнение перечисленных файлов из этой директории. Но видимо это работает не на всех серверах.

Файл можно залить не только через загрузчик. 

 

У меня получилось запретить доступ в такой способ:

<FilesMatch ".(htaccess|ini|phps|fla|psd|log|sh|php)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

где нужно перечислить расширения файлов доступ к которым хотите запретить. 


Изменено: STM, 23.01.2018 - 01:08


#18 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 23.01.2018 - 01:03

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

 

/simpla/design/js/tiny_mce/plugins/smexplorer/php/action.php

найти action = upload и добавить проверку.

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

 

Методов как залить файл без загрузчика тоже хватает. К примеру добавление цифрового товара. Сначала заливаем пустой .htaccess он заменяет существующий, потом заливаем шелл, и всё можно выполнять из папки files/downloads если .htaccess в папке files не работает.

Админку тоже можно взломать. В Simpla это не так сложно. Проблема будет в том что через шелл можно получить доступ к всему серверу и к другим сайтам если он не один.


Изменено: STM, 23.01.2018 - 01:19


#19 ABSORBER

ABSORBER
  • Модератор
  • 439 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 23.01.2018 - 09:12

Да это ладно. Загрузить то можно. Скрипт не должен выполняться из папки /files/uploads

Почему-то .htaccess в паке files не запрещает выполнение. В старых версиях эта уязвимость вроде не работает.

Загрузить можно и не только в /files/uploads/

Можно хоть в корень сайта



#20 STM

STM
  • Пользователь
  • 75 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Откуда:Украина

Опубликовано 23.01.2018 - 10:17

Загрузить можно и не только в /files/uploads/
Можно хоть в корень сайта

Кокретней можно? Это как бы далеко не шутки. Для интернет магазина который связан с онлайн оплатами такие дырки недопустимы.




0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых