Безопасность CMS

InstantCMS 2.X
#1 5 октября 2021 в 19:48

Здравствуйте! Еще только знакомлюсь с ICMS. Был всего один проект на этой CMSке. Всё нравится в целом, но как с безопасностью обстоят дела?
Частые ли случаи взлома? Вопрос наверное больше к завсегдатаям, но любым мнениям буду рад.

Я вот здесь провел одну комплексную атаку пока лишь одним инструментом — атаковал свой тестовый сайт на свежей icms с демо данными и компонентом форум от Лоадырь (заполнил двумя темами)… Результат прилагаю.

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

#2 5 октября 2021 в 19:56

Результат прилагаю

Absolute134

Переведите, пожалуйста, свой результат словами с реальным PoC, если можно.

open_basedir is not set

allow_url_fopen enabled

Это не относится к CMS, это настройки PHP на вашем сервере.

Почему кстати здесь атака не проходит на голосование? :)
Это ведь тоже форум от Лоадыря?)) Там знатная дыра для XSS))

Absolute134

Потому что здесь не совсем форум от Лоадыря. Да и этот сайт не место для тестов.

#3 5 октября 2021 в 20:14

В таких случаях указывайте название софта чем проводили тестирование

 

#4 5 октября 2021 в 20:25

Переведите свой результат словами, если вы понимаете суть вашего скриншота, а не просто воспользовались инструментом автоматической проверки.

open_basedir is not set

allow_url_fopen enabled

Если что, не относится к CMS, это настройки PHP на вашем сервере.

Fuze

Я понимаю. Ставил по дефолту CMSка ведь не требует от юзера отключения опасного параметра allow_url_fopen ?

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

#5 5 октября 2021 в 20:35

CMSка ведь не требует от юзера отключения опасного параметра allow_url_fopen

Absolute134

А должна?

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

#6 5 октября 2021 в 20:51

А должна?

Fuze

Думаю, да… Ведь новички в мире веба в том числе пользуются продуктом. Да и рядовому веб-мастеру, давайте будем честны, — по барабану — работает и ладно.

Какая там должна быть фильтрация?

Fuze

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст

#7 5 октября 2021 в 22:34

Но честно так и не внял, как повлиять на заголовки, хотя пытался долго

Absolute134

Через перенос строки. Однако функция header всё равно не даст двойной заголовок отправить, но при этом нотис будет.

В остальном, всё поправим, в любом случае спасибо.

#8 5 октября 2021 в 23:19

В таких случаях указывайте название софта чем проводили тестирование

 

dChirkis

Во-первых, ещё не до конца провел тестирование т.к. несколько инструментов для пентестинга  в арсенале имеется, в том числе очень дорогих-лицензионных. Во-вторых, кто занимается разработкой/пентестами итак понимают какой инструментарий/софт был задействован в первом посте. В-третьих, я ещё только осваиваю это нелегкое дело. 

Сейчас меня интересует безопасность  ICMS, а конкретные инструменты для анализа — дело десятое. Интересует т.к. в планах проект, который 100% придут ломать. Поэтому был создан этот топик. 

ICMS — потому что здесь много уже написано того, что требуется, а писать самому на каком-нибудь Ларавеле мне лень/долго, да и есть некоторые пробелы в знании php.

Но честно так и не внял, как повлиять на заголовки, хотя пытался долго

Absolute134

Через перенос строки. Однако функция header всё равно не даст двойной заголовок отправить, но при этом нотис будет.

В остальном, всё поправим, в любом случае спасибо.

Fuze

Вам спасибо, что работаете над продуктом и его развитием. Сколько уже CMS протестировал — пришел к выводу, что больше всего ошибок допускают разработчики дополнений. 

А может быть есть у Вас набор каких-то рекомендации по максимально безопасной эксплуатации ICMS? Пусть даже это будут какие-то параноидальные советы типа, как в разработках для банковского сектора))

Встанет CMS выше корневой папки с соответствующей правкой путей инклудов в index.php, который один останется в корне?

#9 5 октября 2021 в 23:20

Поэтому был создан этот топик. 

Absolute134

По поводу безопасности, все имеет целесообразность. Вот вы пишите, что вас будет ломать. Кто? Я могу дать вам гарантию, что вас сломают, например, люди с hackerone. Например, Майл.ru им на этом сайте только выплатил более $2,420,775. hackerone.com/mailru?type=team
То, что сделано людьми, ими и ломается. Вопрос, кто это будет делать и зачем. Если у вас есть бюджет, вы можете создать заявку на hackerone, там собственно все известные сайты есть, и результат не заставит себя ждать. А для школьников, да и не только, эта CMS безопасна, достаточно безопасна.

Обычно безопасность проверяют с учетом окружения. Не только CMS, но и ПО. phpmyadmin бедный щелкают, как орехи. Почему и спросил. Можно организовать атаку не уровня любителя, некоторые могут обеспечить достаточно мощности уровня прав. структур. Вопрос только зачем? Лучше деньги зарабатывать на  hackerone, кто знает и может. Хорошо платят, многие живут этим. Целесообразность ключевое слово.

#10 5 октября 2021 в 23:42

Evg, всё понятно, что ломается. Но Absolute134 нашел то, что нужно было найти и при этом поделился информацией, что бывает редко.

Поэтому,  Absolute134, продолжайте в том же духе. Единственная просьба, если еще что-то найдёте, лучше скидывать в личку.

А может быть есть у Вас набор каких-то рекомендации по максимально безопасной эксплуатации ICMS? Пусть даже это будут какие-то параноидальные советы типа, как в разработках для банковского сектора

Absolute134

Да собственно только серверные, классические настройки, типа openbasedir, права доступа и так далее.

CMS выше корневой папки с соответствующей правкой путей инклудов в index.php, который один останется в корне?

Absolute134

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

#11 6 октября 2021 в 00:11

Поэтому был создан этот топик. 

Absolute134

По поводу безопасности, все имеет целесообразность. Вот вы пишите, что вас будет ломать. Кто? Я могу дать вам гарантию, что вас сломают, например, люди с hackerone. Например, Майл.ru им на этом сайте только выплатил более $2,420,775. hackerone.com/mailru?type=team
То, что сделано людьми, ими и ломается. Вопрос, кто это будет делать и зачем. Если у вас есть бюджет, вы можете создать заявку на hackerone, там собственно все известные сайты есть, и результат не заставит себя ждать. А для школьников, да и не только, эта CMS безопасна, достаточно безопасна.

Обычно безопасность проверяют с учетом окружения. Не только CMS, но и ПО. phpmyadmin бедный щелкают, как орехи. Почему и спросил. Можно организовать атаку не уровня любителя, некоторые могут обеспечить достаточно мощности уровня прав. структур. Вопрос только зачем? Лучше деньги зарабатывать на  hackerone, кто знает и может. Хорошо платят, многие живут этим. Целесообразность ключевое слово.

Evg

Майл.ру платит в рамках Bug Bounty. Это не результат шантажа или хакерского вымогательства.

Целесообразность? Ну, вот здесь многие билингом пользуются на своих проектах. Целый компонент под биллинг заточен. То есть ICMS — это сайты с персональными данными, финансовыми операциями. Найдутся добрые люди, поверьте)) У меня лет 5 назад интернет-магазин на PrestaShop китайцы взломали, чтобы просто мой почтовый сервер юзать для рассылок, а вы говорите))

hackerone — это люди и их возможности небезграничны, также как и компетенция. Ну, нашли уязвимости на майл.ру и что? Я на мамбе их находил. Не критичные, но всё же. Не надо идеализировать майл.ру))

Добавлено спустя 8 минут

Поэтому,  Absolute134, продолжайте в том же духе. Единственная просьба, если еще что-то найдёте, лучше скидывать в личку.

...

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

Fuze

Ок, благодарю, попробую таки выше корня — легче отслеживать будет внедрение. в корне только index.php c 444 правами. А статику алиасом nginx и т.д.  Насчёт — не палить уязвимости — услышал)

#12 6 октября 2021 в 12:12

Всё, что описано здесь, исправлено в том числе в этом коммите.

Правки, касаемые проблем, были в файлах

/system/core/controller.php
/system/controllers/users/actions/profile_content.php

/templates/modern/assets/ui/datasets-panel.tpl.php

#13 6 октября 2021 в 18:37

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

Fuze

Чёт не понял про вынесение директории на поддомен.  Вы это про CDN или про что? sFTP и S3 API?

#14 6 октября 2021 в 20:30

Кстати, система нормально работает выше корня — на одном уровне с корневой папкой.
По-быстрому затестил — всё вроде работает ничуть не хуже.

index.php

  1. // Подключаем файл первоначальной инициализации окружения InstantCMS
  2. require_once '../bootstrap.php';

nginx

  1. location /templates {
  2. alias /var/www/my_user/data/www/templates/;
  3. }
  4. location /upload {
  5. alias /var/www/my_user/data/www/upload/;
  6. }

аяксы правда не затестил

#15 6 октября 2021 в 20:33

Чёт не понял про вынесение директории на поддомен.  Вы это про CDN или про что?

Dublic

Делаете поддомен к своему сайту, например, upload.site.com. Его корневой каталог будет директория upload.

Для основного домена site.com директория upload будет выше корневой директории. Для основного сайта openbasedir должен быть установлен родителем к категории upload и к корневой директории сайта.

Надеюсь понятно объяснил)

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.