PDA

Просмотр полной версии : Task #9


Baskin-Robbins
09.02.2020, 12:43
Предлагаю вам после некоторого перерыва немного размяться перед будущими тасками.

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

Если нет - возможно придется немного повтыкать, но решение просто и понятно.

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

Правила просты и знакомы:


В теме не флудим, подсказки разрешены только от ТС, ответы присылаем в ПМ.
Решением считается url читающий flag.txt, находящийся директорией выше.


Срок:


Две недели.


Таргет:


task9.antichat.com (http://task.antichat.com:10009/)


И сканеры не нужны, не помогут.

Никаких секретных каталогов, файлов - нет.

По сложившемуся обычаю в первом посту будет закреплена таблица результатов.

Всем удачи!

.SpoilerTarget" type="button">Spoiler: Хинт #1
Не баг и не фича. Стандартные возможности.

.SpoilerTarget" type="button">Spoiler: Хинт #2
Было несколько тасков, в которых нам предоставлялась отличная возможность покопаться

в различных обертках (https://www.php.net/manual/en/wrappers.php), изучить эту кухню подробно. Но все ли мы знаем о них?

Scoreboard:

@crlf (https://antichat.live/members/285197/)

@Gorbachev (https://antichat.live/members/300636/)

@Pop-Xlop (https://antichat.live/members/343370/)

@HAXTA4OK (https://antichat.live/members/79637/)

@undefo (https://antichat.live/members/343739/)

@leksadin (https://antichat.live/members/281065/)

Прохождение (https://antichat.live/threads/475564/page-2/)

dooble
09.02.2020, 15:19
Попросил автора, чтобы первое задание года не было навороченным и сложным.

У него получилось.

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

Baskin-Robbins
09.02.2020, 22:11
Друзья, у нас появился первый, кому покорился этот таск.

Congratulations, crlf!

karkajoi
11.02.2020, 19:04
Тут брут надо использовать? или все есть файлах?

dooble
11.02.2020, 19:38
↑ (https://antichat.live/posts/4363648/)
Тут брут надо использовать? или в есть файлах?


В задании написано:

Решением считается url читающий flag.txt, находящийся директорией выше.

Ни брут, ни сканеры не нужны.

Baskin-Robbins
11.02.2020, 21:03
Использовать нужно логику, смекалку, умение искать нужную информацию,

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

И еще такой момент - не стоит пытаться прочитать /etc/passwd и тому подобное,

open_basedir не даст вам этого сделать, читайте предоставленные в таске файлы.

Baskin-Robbins
12.02.2020, 00:23
Таск оставляет нам широкое поле для деятельности. Давайте попробуем сузить рамки.

Настройки сайта дефолтные, за исключением упомянутого бэйздира, но он нам не интересен.

Добавим сюда подсказку и уже можем подкорректировать наши действия,

отбросить некоторые догадки и предположения, сосредоточиться на деталях.

.SpoilerTarget" type="button">Spoiler: Хинт #1
Не баг и не фича. Стандартные возможности.

RedHazard
12.02.2020, 01:33
Задание не сложное



.SpoilerTarget" type="button">Spoiler: Хз подсказка мб
Я ток картинки прочитал, в директории выше, это в html ?
Для лоу лвл тяжко

Baskin-Robbins
12.02.2020, 08:46
↑ (https://antichat.live/posts/4363746/)
Я ток картинки прочитал, в директории выше, это в html ?


Теперь нужно прочитать index.php, получится это сделать - flag.txt сразу найдется

UPD

Не стоит заострять свое внимание на флаге, index.php тоже можно прочитать! Способ один.

RedHazard
12.02.2020, 21:02
.SpoilerTarget" type="button">Spoiler: del
Удалил что бы не нарушать, мискузи.

Baskin-Robbins
12.02.2020, 21:12
↑ (https://antichat.live/posts/4363872/)
Походу фильтр над обойти


Именно так


↑ (https://antichat.live/posts/4363872/)
это что в картинке было


Картинки ни при чем, для нас важен исключительно index.php

Никаких теорий заговоров, скрытых файлов и тд, исключительно:


↑ (https://antichat.live/posts/4363727/)
Стандартные возможности.

dooble
12.02.2020, 21:17
↑ (https://antichat.live/posts/4363872/)
Spoiler: вдруг спойлер
а это что в картинке было? похоже на пароль какой-то
View attachment 8974 (https://antichat.live/attachments/8974/)


Терпеливо повторю для новичков, сначала прочитайте задание и придерживайтесь правил.

До закрытия задания, никакое обсуждение не ведется.

Только автор имеет право развивать тему.

Baskin-Robbins
13.02.2020, 09:26
Есть попытки в нужную сторону, но чего-то не хватает, чтобы сформировать правильный запрос.

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

.SpoilerTarget" type="button">Spoiler: Хинт #2
Было несколько тасков, в которых нам предоставлялась отличная возможность покопаться

в различных обертках (https://www.php.net/manual/en/wrappers.php), изучить эту кухню подробно. Но все ли мы знаем о них?

Тот_самый_Щуп
13.02.2020, 16:55
Ну с врапперами всё встало на свои места

RedHazard
13.02.2020, 20:49
и враперы и всякое перепробовал нефига не выходит , ток картинки читает и все.

RaWaS
13.02.2020, 21:02
такая же херня фильтр необходится. только как принт работает но не выполняет код

RedHazard
13.02.2020, 21:44
Во всех статьях одно и тоже пишут, заюзать нефига не работает.

Не плохой такой Таск для новичков


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

dooble
14.02.2020, 09:01
По поводу сложности.

Это задачка в одно действие, просто нужно найти правильную нотацию для обхода фильтров.

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

Нормальный таск, с одной стороны и цветным не стыдно повтыкать, и начинающим вполне под силу.

Это тот уровень, когда не сложно технологически, не нужно писать код, а скорее - хакерская догадка.

Тем больше от этого удовольствие, когда задачка зарешается.

Все нормально, втыкаем дальше.

Pop-Xlop
14.02.2020, 14:38
Прошел, в принципе не сложно)

Baskin-Robbins
15.02.2020, 18:55
Мертвая точка пройдена, но пока не всеми. И сейчас как раз тот момент, когда может начать подводить бензобак.

Таск прост, но неделю без флага, да, мотивация может подвести. Но все что нам нужно - это маленький финт.

Если суммировать не только подсказки, но и некоторые комментарии к таску,

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

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

undefo
16.02.2020, 15:59
Было интересно, спасибо

leksadin
17.02.2020, 17:24
Хороший таск, ничего сложного.

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

Baskin-Robbins
23.02.2020, 17:46
С момента запуска задания прошло две недели, а значит пора подводить итоги.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


↑ (https://antichat.live/posts/4363727/)
Настройки сайта дефолтные


Остается два варианта на выбор - 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 (http://task.antichat.com:10009/index.php?name=file://localhost/var/www/flag.txt)
=====

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

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

Таск закрыт.

crlf
23.02.2020, 18:21
↑ (https://antichat.live/posts/4365875/)
можно было найти почитав RFC и! википедию по запросу file:// схема URI.


И листая сорцы PHP (https://github.com/php/php-src/blob/a2e4392439130ddf9adedefb646257e6bcdf2952/main/streams/streams.c#L1842)!

RedHazard
23.02.2020, 19:47
а как прочитать исход index.php ?

Baskin-Robbins
23.02.2020, 19:49
↑ (https://antichat.live/posts/4365914/)
а как прочитать исход index.php ?


так же как и флаг)

.SpoilerTarget" type="button">Spoiler: index
index.php?name=file://localhost/var/www/html/index.php

RedHazard
23.02.2020, 20:54
↑ (https://antichat.live/posts/4365915/)
так же как и флаг)
Spoiler: index
index.php?name=file://localhost/var/www/html/index.php


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

до localhost так и не допёр.

fandor9
24.02.2020, 03:02
↑ (https://antichat.live/posts/4365939/)
Перелопатил куча инфы, ТОННЫ инфы однотипной копипаст.
до localhost так и не допёр.


+1

а я пытался через data: враппер выпилить флаг)