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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

p.s. в 1.8 версии, если что, iframe вставить невозможно.
seyfer 13 сентября 2011 в 07:30 0
Защита от дурака в данном случае. Передать по post не каждый пользователь догадается, а когда открыта директория для заливки найдутся шалуны, которые захотят положить сайт или заспамить.
seyfer 13 сентября 2011 в 07:31 0
Если что я iframe успешно использовал для подключения внешнего sms сервиса, по моему вставить возможно и еще как.
Fuze 13 сентября 2011 в 08:05 0
iframe успешно использовал
где? в админке? если да, то это нормально. Во фронтэнде в статью ифрейм вставить невозможно.
Михаил 13 сентября 2011 в 08:55 0
+1, сам проверял (instant cms 1.8).
seyfer 13 сентября 2011 в 09:58 0
У меня на сайте пишут сторонние редакторы например, они попадают в админку редактора. Там проверяли?
Fuze 13 сентября 2011 в 13:01 0
в админке редактора может быть и можно. Смысл не в этом, а в том, что нужно не убирать кнопки, а защищать серверную часть.
Максим Шорин 13 сентября 2011 в 08:11 0
Друзья, по безопасности - некогда был такой глюк с логинзой, что при авторизации с мэйла пользователь попадал в админы, при этом некий злоумышленник, неизвестным мне образом менял пароль от мыла (думаю была сломана логинза, либо были перехваты). было это буквально 2 недели назад. лично я зарегился у своего друга на сайте под админом. После этого я рассказал об этом небезызвестному человеку на этом сайте, после чего он мне сказал что об этой уязвимости давно известно... так что редактор это еще не самое страшное, поверьте мне... =)
Patriot 13 сентября 2011 в 09:27 0
У меня на днях был интересный случай. Захожу на сайт пользователем и вижу онлайн админа. Выхожу и захожу вообще не авторизованным, а админ все равно онлайн. Наблюдал я так минут 5, постоянно обновляя страницу и админ был онлайн.Я подумал что сломали...В общем так и не понял до сих пор что это было, то ли глюк в скрипте, то ли действительно ломанули...
Fuze 13 сентября 2011 в 12:59 0
Господа! Не наводите панику! Или все же у страха глаза велики?
Захожу на сайт пользователем и вижу онлайн админа.
может у админа пароль слишком простой? Сменить пароль догадались?

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

Хорошо сказано! А главное со смыслом.  :) Всё это ерунда мужики, живы будем-не помрем! Не сломить им нас всех, пупок развяжется! :)
Олег Васильевич я 13 сентября 2011 в 15:50 0
Уморил!
rofl
Зачёт!
GoodMade.ru 13 сентября 2011 в 21:44 0
тут главное самому разуметь, проанализировать а почему у меня так.. так не факт что если и у Вас этакое то у другого должно быть этакое. иначе всех и вся запутаете и шумиху наведете.
seyfer 14 сентября 2011 в 05:32 0
Использовались стандартные файлы загруженные отсюда с сайта. Я уверен, что у кого-то тоже так, как у меня.
GoodMade.ru 14 сентября 2011 в 19:50 0
комментарий не на вас счет. :)
GoodMade.ru 14 сентября 2011 в 19:55 0
Вы как раз таки разумели и предложили решение