Перейти к контенту
  • 0

Кража сессии администратора


Arhar

Вопрос

Как известно, можно подделать ip адрес с помощью скрипта, делающего запрос на форум

И если мы узнаем текущий ip администратора и текущую сессию в админцентре, мы сможем сделать запрос, который обойдет имеющуюся защиту и, например, сменит пароль администратору

После чего можно делать что угодно

Добавим хотя-бы немного дополнительных проблем, а именно проверку еще и куки

Если у злоумышленника есть возможность украсть и куки, то тогда ничто не спасет)

 

ALTER TABLE __PREFIX__admin_sessions ADD session_cookie varchar(255) DEFAULT NULL;

./sources/action_admin/login.php ~250line with smartcards

                $sess_id = md5( uniqid( microtime() ) );
               $sess_cookie = md5( uniqid( $sess_id, true ) );

               $this->ipsclass->my_setcookie("admin_sid",$sess_cookie);

               $db_string = $this->ipsclass->DB->compile_db_insert_string( array (
                                                                                  'session_id'			    => $sess_id,
                                                                                  'session_ip_address'	    => $this->ipsclass->ip_address,
                                                                                  'session_member_name'	   => $mem['name'],
                                                                                  'session_member_id'		 => $mem['id'],
                                                                                  'session_member_login_key'  => $mem['member_login_key'],
                                                                                  'session_location'		  => 'index',
                                                                                  'session_log_in_time'	   => time(),
                                                                                  'session_running_time'	  => time(),
                                                                                  'session_cookie'		    => $sess_cookie
                                                                        )	    );

./sources/lib/admin_functions.php ~182line

				$csid = $this->ipsclass->my_getcookie("admin_sid");
			if(!$csid or $csid!=$row['session_cookie'])
			{
				$this->ipsclass->DB->query("DELETE FROM ibf_admin_sessions WHERE session_id='".$this->ipsclass->input['adsess']."'");
				$this->ipsclass->admin_session['_session_validated'] = 0;
				$this->ipsclass->admin_session['_session_message']   = "Невозможно запросить сессию";
				return FALSE;
			}
			//----------------------------------
			// Key is good, check the member details
			//----------------------------------

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

Пока что нет ответов на этот вопрос

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.