Просмотр полной версии : 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/)
Попросил автора, чтобы первое задание года не было навороченным и сложным.
У него получилось.
Поэтому можно повтыкать всем, отметиться в таблице результатов и не ждать топчиков.
Baskin-Robbins
09.02.2020, 22:11
Друзья, у нас появился первый, кому покорился этот таск.
Congratulations, crlf!
karkajoi
11.02.2020, 19:04
Тут брут надо использовать? или все есть файлах?
↑ (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/)
Стандартные возможности.
↑ (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
и враперы и всякое перепробовал нефига не выходит , ток картинки читает и все.
такая же херня фильтр необходится. только как принт работает но не выполняет код
RedHazard
13.02.2020, 21:44
Во всех статьях одно и тоже пишут, заюзать нефига не работает.
Не плохой такой Таск для новичков
легкая прогулка, и за таск то не посчитаешь.
По поводу сложности.
Это задачка в одно действие, просто нужно найти правильную нотацию для обхода фильтров.
И это не зиродей, мне попадался такой вектор, не очень распространен, но гугл его знает.
Нормальный таск, с одной стороны и цветным не стыдно повтыкать, и начинающим вполне под силу.
Это тот уровень, когда не сложно технологически, не нужно писать код, а скорее - хакерская догадка.
Тем больше от этого удовольствие, когда задачка зарешается.
Все нормально, втыкаем дальше.
Pop-Xlop
14.02.2020, 14:38
Прошел, в принципе не сложно)
Baskin-Robbins
15.02.2020, 18:55
Мертвая точка пройдена, но пока не всеми. И сейчас как раз тот момент, когда может начать подводить бензобак.
Таск прост, но неделю без флага, да, мотивация может подвести. Но все что нам нужно - это маленький финт.
Если суммировать не только подсказки, но и некоторые комментарии к таску,
наше направление вырисовывается ясно и недвусмысленно. Вариантов не так много, как кажется на первый взгляд.
Информации дано достаточно для прохождения, нужно только проанализировать ее и отправить правильный запрос.
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)
=====
Всем спасибо.
Пользуясь случаем, поздравляю с Днем защитника Отечества!
Таск закрыт.
↑ (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 так и не допёр.
↑ (https://antichat.live/posts/4365939/)
Перелопатил куча инфы, ТОННЫ инфы однотипной копипаст.
до localhost так и не допёр.
+1
а я пытался через data: враппер выпилить флаг)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot