HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 16.02.2020, 15:59
undefo
Новичок
Регистрация: 04.09.2019
Сообщений: 2
С нами: 3523286

Репутация: 11
По умолчанию

Было интересно, спасибо
 
Ответить с цитированием

  #22  
Старый 17.02.2020, 17:24
leksadin
Участник форума
Регистрация: 19.01.2016
Сообщений: 121
С нами: 5429846

Репутация: 12
По умолчанию

Хороший таск, ничего сложного.

После хинтов остаётся буквально один шаг до флага.
 
Ответить с цитированием

  #23  
Старый 23.02.2020, 17:46
Baskin-Robbins
Участник форума
Регистрация: 15.09.2018
Сообщений: 236
С нами: 4033046

Репутация: 212
По умолчанию

С момента запуска задания прошло две недели, а значит пора подводить итоги.

Взглянем еще раз на задание.

Нам предлагается прочитать некий flag.txt, который распалагается выше дефолтной

веб директории. Узнать это мы можем заглянув в сорцы нашего таска, для нас

его любезно закомментировали.

Повтыкав немного, понимаем что у нас читалка файлов. В целом задача таска и встречающая

нас надпись "Read Me bro!" подтверждает наше предположение. Далее самое интересное - фильтр.

Подробно изучив систему фильтрации нашего инпута, приходим к выводам о блокировки

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

И фильтрация php файлов нам на десерт, прочитать index.php просто так не удастся.

Трюки с кодировками также не принесут никаких результатов. Но все же фильтруется не все...

Наш фильтр пропускает ogg:// rar:// ssh2:// compress.bzip2://.

file:// и data:// фильтруются не полностью, в первом случае предупреждение получаем

на попытку использования file:///, во втором пропускается data: и data:/.

Можно было попробовать повтыкать во все и убедиться что первые четыре никаким образом

нам не помогут. Эти обертки не включены по умолчанию и комментарий к первому хинту

подтверждает, здесь их не использовать.

Цитата:
Сообщение от Baskin-Robbins  

Настройки сайта дефолтные
Остается два варианта на выбор - data и file. И тут было важно не пойти по ложному пути.

Обертка file используется исключительно с абсолютными путями, т.е. использование

таких форматов невозможно - file://index.php file://./index.php. Казалось бы ничего

нельзя придумать, ну нельзя ее использовать в таком формате на UNIX-подобных машинах.

И это могло подтолкнуть поглубже покопаться в обертке data, освежить старые знания.

Но это как раз и есть ложный путь. В нашем случае этот враппер ничем не сможет помочь,

чтение будет происходить не из переданного файла, а содержимого самого враппера.

И казалось бы вариантов нет, фильтр не обойти. Но у нас остался открытым вопрос -

почему же с враппером file нельзя использовать относительные пути?

И вот тут то и кроется правильный ответ. В том как мы можем использовать данный

враппер в формате file:// на UNIX-подобных ОС. По этому поводу есть старый репорт 2004 года

https://bugs.php.net/bug.php?id=28820, в котором нам однозначно говорится о невозможности

использования относительных путей. И причина по которой это сделано наталкивает нас

на правильное решение.

.SpoilerTarget" type="button">Spoiler: spoiler
The reason relative paths are not supported with the file:// wrapper comes down to

a compromise in how UNC paths are dealt with (and more specifically how / are fuzzily

interpreted as \ for windows installations).

For Example:

file://foo/bar

Could be interpreted as a relative URI: foo/bar from the current working directory,

OR it could be interpreted as a UNC: \\foo\bar (share `bar` on computer `foo`).

Но не одним баг-репортом единым живы. Прям готовое решение, просто скопируй и вставь,

можно было найти почитав RFC и! википедию по запросу file:// схема URI.

https://tools.ietf.org/html/rfc8089

https://ru.wikipedia.org/wiki/File_(схема_URI)

В итоге правильным решением было использование обертки file в таком формате:

file:///

.SpoilerTarget" type="button">Spoiler: Ответ
index.php?name=file://localhost/var/www/flag.txt
=====

Всем спасибо.

Пользуясь случаем, поздравляю с Днем защитника Отечества!

Таск закрыт.
 
Ответить с цитированием

  #24  
Старый 23.02.2020, 18:21
crlf
Постоянный
Регистрация: 18.03.2016
Сообщений: 663
С нами: 5344886

Репутация: 441


По умолчанию

Цитата:
Сообщение от Baskin-Robbins  

можно было найти почитав RFC и! википедию по запросу file:// схема URI.
И листая сорцы PHP!
 
Ответить с цитированием

  #25  
Старый 23.02.2020, 19:47
RedHazard
Познающий
Регистрация: 17.04.2011
Сообщений: 63
С нами: 7932566

Репутация: 8
По умолчанию

а как прочитать исход index.php ?
 
Ответить с цитированием

  #26  
Старый 23.02.2020, 19:49
Baskin-Robbins
Участник форума
Регистрация: 15.09.2018
Сообщений: 236
С нами: 4033046

Репутация: 212
По умолчанию

Цитата:
Сообщение от RedHazard  

а как прочитать исход index.php ?
так же как и флаг)

.SpoilerTarget" type="button">Spoiler: index
index.php?name=file://localhost/var/www/html/index.php
 
Ответить с цитированием

  #27  
Старый 23.02.2020, 20:54
RedHazard
Познающий
Регистрация: 17.04.2011
Сообщений: 63
С нами: 7932566

Репутация: 8
По умолчанию

Цитата:
Сообщение от Baskin-Robbins  

так же как и флаг)
Spoiler: index
index.php?name=file://localhost/var/www/html/index.php
Перелопатил куча инфы, ТОННЫ инфы однотипной копипаст.

до localhost так и не допёр.
 
Ответить с цитированием

  #28  
Старый 24.02.2020, 03:02
fandor9
Постоянный
Регистрация: 16.11.2018
Сообщений: 620
С нами: 3943766

Репутация: 47


По умолчанию

Цитата:
Сообщение от RedHazard  

Перелопатил куча инфы, ТОННЫ инфы однотипной копипаст.
до localhost так и не допёр.
+1

а я пытался через data: враппер выпилить флаг)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.