Убираем некоторые уязвимости сайта.

+17
2.18K
Наткнулся на пост Инстант и безопасность сайта и решил устранить эти уязвимости, тем более, что пользуюсь редактором fckedit.

Уязвимость 1 — iframe атака.
Уязвимость 2 — доступ к окну файлового менеджера и возможность заливать из него любые файлы.

Конечно это больше для тех, кто страдает паранойей, но все же..



Для начала правим fckconfig.js, находим раздел с настройками панелей, правим Basic как вам нравится. Удаляем из нее Source, т.е. источник и таким образом защищаемся от iframe атаки.

Далее используем модификацию файла плагина предложенную в том посте в каментах:

Ищем
  1. $oFCKeditor->ToolbarSet = 'Admin';
Меняем на
  1. $group_id = $_SESSION['user']['group_id'];
  2. if ($group_id=="2")
  3. {
  4. $oFCKeditor->ToolbarSet = 'Admin';
  5. }
  6. else
  7. {
  8. $oFCKeditor->ToolbarSet = 'Basic';
  9. };
Теперь у нас разные панели для админа и для остальных. Задача состоит в том, чтобы убрать из диалоговых кнопок Картинок, Флеш и Ссылка кнопки Browse Server, убрать ее конфигурацией нельзя, но есть html диалоговых окон. :)

Заходим в папку wysiwyg->fckeditor
Ищем в подпапках папку dialog, в ней файлы. Для картинок например нам нужен fck_image.html

Ищем в нем по слову browse где происходит отображение кнопки, комментируем строки и все, кнопка пропадет.
Если не пропадет, то ищем подпапки в папке dialog с названием как у файла. В папке лежит соответствующий js.

На примере картинок, в этом js надо найти строку // Show/Hide the "Browse Server" button.
И оставить ниже только параметры 'none'.

Аналогично для других диалоговых окон. Думал кнопки пропадут и для админа, что было бы не страшно, я лично ими не пользуюсь, но они остались, пропали только у юзеров с Basic панелью.
0
Олег Васильевич я Олег Васильевич я 10 лет назад #
Здравствуйте!
Вот такие кнопки редактора доступны пользователю при добавлении статьи (версия 1.8).

Это, разве, не Basic?
Но вот из этого окна можно сотворить проблемы (загрузка изображения) ?

Спасибо!
0
seyfer seyfer 10 лет назад #
Посмотрите есть ли у вас во вкладке Ссылка кнопка и еще возле URL может быть, в первой вкладке диалогового окна.
Если есть, то по нажатию откроется браузер файлов. Если нету, то хорошо.
0
Олег Васильевич я Олег Васильевич я 10 лет назад #
Не совсем понимаю. Если Вы кнопке "вставить/редактировать ссылку" - то при клике по ней открывается такое окно:

Это хорошо или плохо?
Спасибо!
0
seyfer seyfer 10 лет назад #
Тут тоже все в порядке, это стандартные окна. Не должно быть кнопок "Посмотреть на сервере" или "Browse server".
0
Олег Васильевич я Олег Васильевич я 10 лет назад #
Ок!
Спасибо!
-1
Михаил Михаил 10 лет назад #
А ничего что в инстанте уже есть условие такое(о заливке файлов):
Код PHP:
$oFCKeditor->ToolbarSet = ($inUser->is_admin ? 'Admin' : 'Basic');
Вы изобретатель велосипеда? )
0
seyfer seyfer 10 лет назад #
Это вы где откопали? В стандартном редакторе?smile
Поставьте fckedit или другой расширенный и посмотрите есть там такое или нет. Речь то у меня идет о плагинах.
0
Михаил Михаил 10 лет назад #
Представьте себе, я это обнаружил в /plugins/p_fckeditor/plugin.php, в вашей статье вообще нет ни 1 ссылки на файлы, будто с потолка всё взяли...
0
seyfer seyfer 10 лет назад #
Версия fckedit какая? У меня лично без указанных выше настроек для всех была панелька АДМИН.
Такая инструкция $oFCKeditor->ToolbarSet = 'Admin'; и все.

Какие ссылки? Скриншоты ниже, файлы я перечисляю какие менял.
0
seyfer seyfer 10 лет назад #
Тут видим злосчастную кнопку, она есть и у пользователя и у админа. Конфигурацией fckconfig не убирается. Так же нету возможности дать разные панели по группам без изменения кода.



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

0
Fuze Fuze 10 лет назад #
на самом деле мнимая защита...
Удаляем из нее Source, т.е. источник и таким образом защищаемся от iframe атаки.
конечно защитимся, только если post запросом послать iframe то этот ифрейм придет на сервер.
Защищать всегда нужно на стороне сервера, а не на стороне клиента.

В общем за старание плюс, за результат минус) итого смысла в ваших манипуляциях ноль (цели вас задеть не преследовал).

p.s. в 1.8 версии, если что, iframe вставить невозможно.
0
seyfer seyfer 10 лет назад #
Защита от дурака в данном случае. Передать по post не каждый пользователь догадается, а когда открыта директория для заливки найдутся шалуны, которые захотят положить сайт или заспамить.
0
seyfer seyfer 10 лет назад #
Если что я iframe успешно использовал для подключения внешнего sms сервиса, по моему вставить возможно и еще как.
0
Fuze Fuze 10 лет назад #
iframe успешно использовал
где? в админке? если да, то это нормально. Во фронтэнде в статью ифрейм вставить невозможно.
0
Михаил Михаил 10 лет назад #
+1, сам проверял (instant cms 1.8).
0
seyfer seyfer 10 лет назад #
У меня на сайте пишут сторонние редакторы например, они попадают в админку редактора. Там проверяли?
0
Fuze Fuze 10 лет назад #
в админке редактора может быть и можно. Смысл не в этом, а в том, что нужно не убирать кнопки, а защищать серверную часть.
0
Максим Шорин Максим Шорин 10 лет назад #
Друзья, по безопасности - некогда был такой глюк с логинзой, что при авторизации с мэйла пользователь попадал в админы, при этом некий злоумышленник, неизвестным мне образом менял пароль от мыла (думаю была сломана логинза, либо были перехваты). было это буквально 2 недели назад. лично я зарегился у своего друга на сайте под админом. После этого я рассказал об этом небезызвестному человеку на этом сайте, после чего он мне сказал что об этой уязвимости давно известно... так что редактор это еще не самое страшное, поверьте мне... =)
0
Patriot Patriot 10 лет назад #
У меня на днях был интересный случай. Захожу на сайт пользователем и вижу онлайн админа. Выхожу и захожу вообще не авторизованным, а админ все равно онлайн. Наблюдал я так минут 5, постоянно обновляя страницу и админ был онлайн.Я подумал что сломали...В общем так и не понял до сих пор что это было, то ли глюк в скрипте, то ли действительно ломанули...
0
Fuze Fuze 10 лет назад #
Господа! Не наводите панику! Или все же у страха глаза велики?
Захожу на сайт пользователем и вижу онлайн админа.
может у админа пароль слишком простой? Сменить пароль догадались?

Еще раз пишу: соблюдайте базовые правила безопасности, гуглите, защищайте админку, делайте хоть что-нибудь для своей же безопасности.
0
reload reload 10 лет назад #
Stels:
Захожу на сайт пользователем и вижу онлайн админа
А у меня недавно на сайте было "-2" (минус два) гостя!!! во как еще бывает)
0
Patriot Patriot 10 лет назад #
В этой жизни всё бывает, жук пер..ит и бык летает. Так что удивляться не чему. Но как бы ни было, прорвемся хлопцы! Команда INSTANT , Чемпион! )) Да, вот ещё вопрос не по теме конечно. Хотел смайлик тут поставить, жму ,а в ответ тишина...Не первый раз уже пытаюсь, но не открывается панелька зараза. ))
+1
Денис Васильевич Денис Васильевич 10 лет назад #
предполагаю что такое бывает если под одним логином заходят разные люди, с разных ПК. было у меня такое недавно.
0
seyfer seyfer 10 лет назад #
Так это глюк был или направленные действия на взлом? Этот глюк все еще работает? о_О
0
Patriot Patriot 10 лет назад #
Я ж говорю, так и не понял что это было...Сейчас слава богу подобного не наблюдается.
0
Олег Васильевич я Олег Васильевич я 10 лет назад #
Удивительно: чё это нас всех не поломали?
Если всё верно - вопрос времени. cry
Ой!
+2
Fuze Fuze 10 лет назад #
Если всё верно - вопрос времени.
конечно верно. садитесь и ждите.
0
Patriot Patriot 10 лет назад #
конечно верно. садитесь и ждите.

Хорошо сказано! А главное со смыслом. :) Всё это ерунда мужики, живы будем-не помрем! Не сломить им нас всех, пупок развяжется! :)
0
Олег Васильевич я Олег Васильевич я 10 лет назад #
Уморил!
rofl
Зачёт!
0
Денис Васильевич Денис Васильевич 10 лет назад #
тут главное самому разуметь, проанализировать а почему у меня так.. так не факт что если и у Вас этакое то у другого должно быть этакое. иначе всех и вся запутаете и шумиху наведете.
0
seyfer seyfer 10 лет назад #
Использовались стандартные файлы загруженные отсюда с сайта. Я уверен, что у кого-то тоже так, как у меня.
0
Денис Васильевич Денис Васильевич 10 лет назад #
комментарий не на вас счет. :)
0
Денис Васильевич Денис Васильевич 10 лет назад #
Вы как раз таки разумели и предложили решение
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.