Старый 31.01.2014, 23:44   #1
hashme
 
Регистрация: 31.01.2014
Сообщений: 15
Репутация: 0
Question Головоломка с LFI - помогите решить

Есть Ubuntu на ней Apache2

Есть LFI, выглядит примерно так:

require($SOME_PATH.$injected_var.$SOME_EXTRA)

$SOME_EXTRA - успешно отсекается через нулбайт, Injected VAR - собственно, то что можно редактировать. $SOME_PATH - я так понимаю, никак не удалить.

И так векторы которые работают/не работают:

1. environ - нет прав на чтение, поэтому отпадает.
2. к логам также нет доступа на чтение, из сервисов только апач на машине, SSH, memcache, mysql.
3. сессии пишутся в memcache, поэтому так просто также не прочесть.
4. php filters не заюзать из за $SOME_PATH, от него никак не избавиться - пробовал символы каретки назад, удаления, но не работают ((
5. аплод файлов есть, но нигде нету phpinfo() - поэтому имя в темпе никак не угадать. думал phpinfo() можно взять от phpmyadmin но он из вне не доступен, а через require ничего не выводит.

вообщем, что мы имеем? есть доступ на чтение конфига апача с путями. там же нашелся Phpmyadmin, но из вне к нему доступ закрыт через htaccess - те он тоже отпадает.

какие кто знает еще варианты?

1. может есть вариант получить листинги нужных директорий?
2. может всеже есть вариант, прочесть исходники .php файлов?
hashme вне форума   Ответить с цитированием
Старый 31.01.2014, 23:56   #2
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

Цитата:
Есть LFI...


аплод файлов есть
...
в чем проблема? Грузи нужный файл и инклудь. Зачем тебе временный файл, если есть аплоад?
Pashkela вне форума   Ответить с цитированием
Старый 01.02.2014, 00:00   #3
hashme
 
Регистрация: 31.01.2014
Сообщений: 15
Репутация: 0
По умолчанию

Смысл в том, что есть форма аплода на сайте, которая читает файл, процессит его и пишет в базу. те куда сохраняется файл, я не знаю. смысл в том, что в случае наличая Phpinfo его можно перехватить, пока он временно пишется в /tmp, но phpinfo нет тоже ((
hashme вне форума   Ответить с цитированием
Старый 01.02.2014, 00:29   #4
VY_CMa
 
Аватар для VY_CMa
 
Регистрация: 15.06.2012
Сообщений: 5
Репутация: 1
По умолчанию

Поищи более тщательно phpinfo.
Либо найди способ узнать имя временного файла в tmp, подобное было на одном из CTF.
VY_CMa вне форума   Ответить с цитированием
Старый 01.02.2014, 00:48   #5
hashme
 
Регистрация: 31.01.2014
Сообщений: 15
Репутация: 0
По умолчанию

phpinfo() скорее всего нету, уже обыскался.

а что за CTF? есть ссылочка где искать/смотреть?
hashme вне форума   Ответить с цитированием
Старый 01.02.2014, 03:14   #6
madhatter
 
Регистрация: 11.01.2014
Сообщений: 86
Репутация: 1
По умолчанию

По-моему, на PHD, возможно даже последнем.
madhatter вне форума   Ответить с цитированием
Старый 01.02.2014, 03:27   #7
VY_CMa
 
Аватар для VY_CMa
 
Регистрация: 15.06.2012
Сообщений: 5
Репутация: 1
По умолчанию

http://blogs.tunelko.com/2014/01/27/phdays-2014-quals-php_jl-writeup/
VY_CMa вне форума   Ответить с цитированием
Старый 01.02.2014, 07:55   #8
nikp
Banned
 
Регистрация: 05.07.2010
Сообщений: 201
Репутация: 183
По умолчанию

Цитата:
Сообщение от VY_CMa Посмотреть сообщение
Либо найди способ узнать имя временного файла в tmp, подобное было на одном из CTF.
http://blogs.tunelko.com/2014/01/27/phdays-2014-quals-php_jl-writeup/
Не путайте человека, фильтруемый eval дает возможности для маневра, а require без помощи phpinfo (или другого скрипта, который выводит $_FILES[foo][tmp_name]) не справится, вернее еще никто не показал реализацию для nix.

UPD
1) Возможно у memcache открыт порт на внешнее подключение, можно поискать чувствительную информацию (в т.ч. и сессию админа).
2) phpMyAdmin не работает с memcache, поэтому можно пробовать инклудить скрипт signon.php и инклудить записанное им в сессию.

Последний раз редактировалось nikp; 01.02.2014 в 08:38..
nikp вне форума   Ответить с цитированием
Старый 03.02.2014, 10:25   #9
tavel
 
Регистрация: 20.08.2011
Сообщений: 7
Репутация: -2
По умолчанию

Цитата:
Сообщение от nikp Посмотреть сообщение
Возможно у memcache открыт порт на внешнее подключение, можно поискать чувствительную информацию (в т.ч. и сессию админа).
Согласен, есть скрипт go-derper.rb, он умеет переводить memcached в debug режим и дампить данные.
__________________
-
tavel вне форума   Ответить с цитированием
Старый 03.02.2014, 11:32   #10
hashme
 
Регистрация: 31.01.2014
Сообщений: 15
Репутация: 0
По умолчанию

в мир смотрит только веб сервер, все предельно секурно)) информация по signon, то что было нужно!

вопрос закрыт, спасибо всем за помощь!
hashme вне форума   Ответить с цитированием
Ответ

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

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

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

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

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



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