andrey danaw - session management errors in cloud solutions and in classic hosting systems

18
@d90andrew 7-8.11.2013 Ошибки управления сессиями в облачных решениях и на классических хостингах

Upload: defconrussia

Post on 12-Nov-2014

593 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

@d90andrew7-8.11.2013

Ошибки управления сессиями в облачных решениях и на классических хостингах

Page 2: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

План:

● Описание проблем.● Пересечение ключей сессий на шаред

хостингах.● Шаринг сессии на облачных нодах.● Способы защиты.

Page 3: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Описание проблем:

1. Общее хранилище сессий.

1.1 Произвольный доступ к сессиям.

1.2 Нет возможности менять формат сессий.

2. Плохое разделение хранилищ сессий.

Page 4: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Общее хранилище сессий:

Пример 1.1:Имеется произвольный доступ.

Злоумышленник может управлять сессией на любом хосте в пределах серверной ноды.

Page 5: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Классический пример:

System ;Linux srv1337.hostingtrololo.com

session.save_path;/tmp;/tmp

session.save_path tcp://localhost:11211

Page 6: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Классический пример:

srv1337.hostingtrololo.com

blog.trololo.com

hacker.trololo.com

forum.trololo.com

target.trololo.com

session

Page 7: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

target.trololo.comSugarCRM :/modules/Users/authentication/SugarAuthenticate/SugarAuthenticateUser.php

Page 8: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

hacker.trololo.com

Exploit:

Page 9: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Vulnerable CMSCMS Session Type

DataLife 10.0( http://dle-news.ru/ )

$_SESSION[‘dle_sort_main’] (and all dle_sort_* params ;) ) SQL-Injection

LiveStreet CMS( http://livestreetcms.ru/ )

$_SESSION[‘user_id’] Auth-By-pass

eXtplorer 2.1.4( http://extplorer.net/ )

$_SESSION['credentials_'.$auth_type][‘username’]=admin $_SESSION['credentials_'.$auth_type][‘password’]=true

Auth-By-pass

TinyCMS 1.4(http://tinycms.designskate.com/ )

$_SESSION[‘username’] , $_SESSION[“security”]=true Auth-By-pass

SugarCRM 6.5.15( http://www.sugarcrm.com/ )

$_SESSION[‘authenticated_user_id’] Auth-By-pass

Page 10: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Общее хранилище сессий:

Пример 1.2:Нет возможности менять формат сессии.

Злоумышленник может использовать пересечение ключей сессий на приложениях (Например для

повышения привилегий).

Page 11: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Пересечение ключей сессий:

Page 12: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Пересечение ключей сессий:

Datalife Engine, MODx, LiveStreet CMS, SMF(disabled db sess), PhpMyAdmin, TinyCms, SugarCRM..

В выше преведенных CMS не было обнаружено пересечений ключей сессий.

Но, угроза актуальна для самописных приложений.

Page 13: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Плохое распределение хранилищ сессий:

Злоумышленник может воспользоваться ситуацией failover хранилища и исполнить случаи из ранее

приведенных примеров.

Page 14: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Облачные ноды:

Page 15: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Облачные ноды:

Рассмотрим пример из практики:Failover хранилища memcache или БД отработан как запись в файлы - таким образом приходим к случаю хостера, если есть возможность писать в файл на одном клиенте, получаем доступ ко всем другим на этой же ноде.

Page 16: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Методы защиты:

Для хранения сессий необходимо использовать отдельные хранилища\префиксы для каждого приложения.

Page 17: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

The End.

Всем спасибо за внимание!

@d90andrew7-8.11.2013

Page 18: Andrey Danaw - Session management errors in cloud solutions and in classic hosting systems

Дополнительные материалы:http://www.supernifty.org/blog/2008/04/19/php-sessions-on-shared-hosting-hack-3/

http://stackoverflow.com/questions/6671781/are-php-sessions-stored-in-tmp-on-shared-hosting-safe