Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ошибки управления сессиями в
облачных решениях и на
классических хостингах

@d90andrew
7-8.11.2013
План:
● Описание проблем.
● Пересечение ключей сессий на шаред
хостингах.
● Шаринг сессии на облачных нодах.
● Способы защ...
Описание проблем:
1. Общее хранилище сессий.
1.1 Произвольный доступ к сессиям.
1.2 Нет возможности менять формат сессий.
...
Общее хранилище сессий:
Пример 1.1:
Имеется произвольный доступ.
Злоумышленник может управлять сессией на любом
хосте в пр...
Классический пример:
System ;Linux srv1337.hostingtrololo.com
session.save_path;/tmp;/tmp
session.save_path tcp://localhos...
Классический пример:
blog.trololo.com

hacker.trololo.com
srv1337.hostingtrololo.com
session
forum.trololo.com

target.tro...
target.trololo.com
SugarCRM :/modules/Users/authentication/SugarAuthenticate/SugarAuthenticateUser.php
hacker.trololo.com
Exploit:
Vulnerable CMS
CMS

Session

Type

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

$_SESSION[‘dle_sort_main’] (and all dle_sort_* p...
Общее хранилище сессий:
Пример 1.2:
Нет возможности менять формат сессии.
Злоумышленник может использовать пересечение
клю...
Пересечение ключей сессий:
Пересечение ключей сессий:
Datalife Engine, MODx, LiveStreet CMS, SMF
(disabled db sess), PhpMyAdmin, TinyCms,
SugarCRM..
...
Плохое распределение хранилищ сессий:
Злоумышленник может воспользоваться ситуацией
failover хранилища и исполнить случаи ...
Облачные ноды:
Облачные ноды:
Рассмотрим пример из практики:
Failover хранилища memcache или БД
отработан как запись в файлы - таким
обра...
Методы защиты:
Для хранения сессий необходимо
использовать отдельные
хранилищапрефиксы для каждого
приложения.
The End.
@d90andrew
7-8.11.2013

Всем спасибо за внимание!
Дополнительные материалы:
http://www.supernifty.org/blog/2008/04/19/php-sessions-on-shared-hosting-hack-3/
http://stackove...
Upcoming SlideShare
Loading in …5
×

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

671 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Ошибки управления сессиями в облачных решениях и на классических хостингах @d90andrew 7-8.11.2013
  2. 2. План: ● Описание проблем. ● Пересечение ключей сессий на шаред хостингах. ● Шаринг сессии на облачных нодах. ● Способы защиты.
  3. 3. Описание проблем: 1. Общее хранилище сессий. 1.1 Произвольный доступ к сессиям. 1.2 Нет возможности менять формат сессий. 2. Плохое разделение хранилищ сессий.
  4. 4. Общее хранилище сессий: Пример 1.1: Имеется произвольный доступ. Злоумышленник может управлять сессией на любом хосте в пределах серверной ноды.
  5. 5. Классический пример: System ;Linux srv1337.hostingtrololo.com session.save_path;/tmp;/tmp session.save_path tcp://localhost:11211
  6. 6. Классический пример: blog.trololo.com hacker.trololo.com srv1337.hostingtrololo.com session forum.trololo.com target.trololo.com
  7. 7. target.trololo.com SugarCRM :/modules/Users/authentication/SugarAuthenticate/SugarAuthenticateUser.php
  8. 8. hacker.trololo.com Exploit:
  9. 9. Vulnerable CMS CMS 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
  10. 10. Общее хранилище сессий: Пример 1.2: Нет возможности менять формат сессии. Злоумышленник может использовать пересечение ключей сессий на приложениях (Например для повышения привилегий).
  11. 11. Пересечение ключей сессий:
  12. 12. Пересечение ключей сессий: Datalife Engine, MODx, LiveStreet CMS, SMF (disabled db sess), PhpMyAdmin, TinyCms, SugarCRM.. Но, угроза актуальна В выше преведенных CMS не было обнаружено пересечений ключей сессий. для самописных приложений.
  13. 13. Плохое распределение хранилищ сессий: Злоумышленник может воспользоваться ситуацией failover хранилища и исполнить случаи из ранее приведенных примеров.
  14. 14. Облачные ноды:
  15. 15. Облачные ноды: Рассмотрим пример из практики: Failover хранилища memcache или БД отработан как запись в файлы - таким образом приходим к случаю хостера, если есть возможность писать в файл на одном клиенте, получаем доступ ко всем другим на этой же ноде.
  16. 16. Методы защиты: Для хранения сессий необходимо использовать отдельные хранилищапрефиксы для каждого приложения.
  17. 17. The End. @d90andrew 7-8.11.2013 Всем спасибо за внимание!
  18. 18. Дополнительные материалы: 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

×