Старый 31.03.2013, 22:04   #1
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию Эксплуатация ограниченных писалок через PHP сессии

Часто бывают случаи, когда надо проэксплуатировать ограниченные по правам аплоадеры и прочие штуки.
Для этого хорошо подходят файлы сессий, так как они располагаются в писабельной зоне (обычно /tmp)

Три эксплуатации:
1. Очевидная - поднятие привилегий в рамках логики приложения.
Прописываем типичные индексы в /tmp/sess_8d3341df4d248acfb2dec18917c2305d и приходим с кукой PHPSESSID=sess_8d3341df4d248acfb2dec18917c2305d

2. Unserialize триггер.
Так как внутри файла сериализованные данные - получаем абсолютно аналогичный unserialize сценарий - нам нужны уязвимые деструкторы или проч. магические методы.

3. Попадание значение в сессию.
В ряде случаев - это может дать читалку переменных. Отгадка и сам баг тут: http://stackoverflow.com/questions/7050180/global-variable-overrides-session-variable-in-php
Смысл в том, что если завести /tmp/sess_8d3341df4d248acfb2dec18917c2305d:
Код:
_SERVER|
В сессии появится _SESSION['_SERVER'] равный по содержимому значению _SERVER.
Также можно прочитать какой-нибудь глобальный конфижек.
Отгадка здесь:
Цитата:
session.bug_compat_42 = On
session.bug_compat_warn = Off
__________________
The Sucks Origin Policy
d0znpp вне форума   Ответить с цитированием
Старый 02.04.2013, 12:53   #2
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

думаю, что это можно спускать, если нету обсуждения здесь
__________________
The Sucks Origin Policy
d0znpp вне форума   Ответить с цитированием
Старый 03.04.2013, 13:10   #3
an_animal
 
Регистрация: 27.03.2013
Сообщений: 2
Репутация: 0
По умолчанию

can anyone give a short translation here? google translate was no use. thanks.
an_animal вне форума   Ответить с цитированием
Старый 03.04.2013, 13:19   #4
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

Цитата:
Сообщение от an_animal Посмотреть сообщение
can anyone give a short translation here? google translate was no use. thanks.
Exploiting restricted uploaders

In many cases uploader vulns restricted by filesystem privileges.
You can upload arbitrary files in /tmp directory, but can't upload into /var/www and others.

In these cases you may create your own session file with arbitrary serialized data.

Exploitation ways:
1. Gain privileges. Add session files with _SESSION['admin']=true data
2. Unserialize() call analogue to exploit vulnerable magic-methods, such as __destruct, __wakeUp and others.
3. Read arbitrary webapp variables by defining _SESSION variables with the the names. This bug described there: http://stackoverflow.com/questions/7050180/global-variable-overrides-session-variable-in-php
__________________
The Sucks Origin Policy
d0znpp вне форума   Ответить с цитированием
Старый 03.04.2013, 13:37   #5
an_animal
 
Регистрация: 27.03.2013
Сообщений: 2
Репутация: 0
По умолчанию

cool, thanks d0znpp!
an_animal вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot