Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

 
 
Опции темы Опции просмотра
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #1 06-23-2012, 14:10

В связи с обнаружившейся уязвимостью, описанной в этом топике, возникла мысль сделать отдельную авторизацию для админ-панели системы.

В результате набросал нижеприведенный хак.

ВНИМАНИЕ! Это alpha версия, предназначенная только для тестирования.

Не устанавливайте ее на рабочие сайты.

Отличие отдельной авторизации для администратора:

1) Используются только PHP сессии.
2) Авторизация длится только 20 минут
3) При формировании хэша авторизации используются IP и USER_AGENT администратора

v1.0alpha-2 (24.06.2012)

4) Форма авторизации защищена от CSRF атак.
5) Форма авторизации защищена капчей

Установка

1) Зайдите в phpMyAdmin, и выполните SQL запрос:

Код:
CREATE TABLE IF NOT EXISTS `префикс_cpsession` (
  `uid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `uname` varchar(30) NOT NULL DEFAULT '',
  `time` int(10) unsigned NOT NULL DEFAULT '0',
  `ip` varchar(15) NOT NULL DEFAULT '',
  `mid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `hash` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`time`),
  KEY `idx` (`uid`,`hash`)
) ENGINE=MyISAM;
"префикс" в названии таблицы `префикс_cpsession` замените на префикс к вашим таблицам.

Префикс к таблицам, вы можете посмотреть в корневом файле /mainfile.php, в переменной $rcxConfig['prefix']

Например, если у вас

PHP код:
$rcxConfig['prefix'] = '2qsdF3f_'
то

`префикс_cpsession`

вы должны заменить на

`2qsdF3f__cpsession`


2) Скопируйте содержимое папки runcms из прикрепленного архива в корневую директорию сайта

Будут заменены следующие файлы:

/class/sessions.class.php
/include/cp_functions.php
/include/common.php
/language/russian/admin.php
/admin.php


v1.0alpha-2 (24.06.2012)

/class/kcaptcha/kcaptcha.php


ВНИМАНИЕ! Если вы вносили в выше перечисленные файлы, какие либо изменения, то они будут потеряны.

---

Теперь авторизации на сайте и в админ-панели действуют независимо друг от друга, например, вы можете быть авторизованы в админ-панели но не сайте.

Использование PHP сессии, делает бессмысленным кражу хэша авторизации, так как его теперь нельзя подставить в куки. Ограничение в 20 минут для сеанса и использование IP и USER_AGENT в хэше дает дополнительную защиту при краже ID PHP сессии.

---

Апдейт 24.06.2012

Добавлена капча
Добавлена защита от CSRF атак
Изображения
Тип файла: png private_admin_login.png (196.6 Кбайт, 19 просмотров)
Тип файла: png private_admin_login_2.png (179.7 Кбайт, 13 просмотров)
Вложения
Тип файла: zip h_runcms-b2.2.2_private_admin_login-v1.0alpha-1.zip (14.2 Кбайт, 2 просмотров)
Тип файла: zip h_runcms-b2.2.2_private_admin_login-v1.0alpha-2.zip (17.6 Кбайт, 5 просмотров)
Оценка сообщения (репутация)
+9 pan положительно: мерси
+0 us0gh положительно: Thanks

Последний раз редактировалось LARK, 06-24-2012 в 18:09


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 129.58 Kb. compressed to 127.67 Kb. by saving 1.91 Kb. (1.47%)
Page generated in 0.11018 seconds with 12 queries