![]() |
Предлагаю вам после некоторого перерыва немного размяться перед будущими тасками.
Задание не сложное, если знаешь или встречал - легкая прогулка, и за таск то не посчитаешь. Если нет - возможно придется немного повтыкать, но решение просто и понятно. Так что особых проблем возникнуть не должно. Правила просты и знакомы: Цитата:
Цитата:
Цитата:
Никаких секретных каталогов, файлов - нет. По сложившемуся обычаю в первом посту будет закреплена таблица результатов. Всем удачи! .SpoilerTarget" type="button">Spoiler: Хинт #1 Не баг и не фича. Стандартные возможности. .SpoilerTarget" type="button">Spoiler: Хинт #2 Было несколько тасков, в которых нам предоставлялась отличная возможность покопаться в различных обертках, изучить эту кухню подробно. Но все ли мы знаем о них? Scoreboard: @crlf @Gorbachev @Pop-Xlop @HAXTA4OK @undefo @leksadin Прохождение |
Попросил автора, чтобы первое задание года не было навороченным и сложным.
У него получилось. Поэтому можно повтыкать всем, отметиться в таблице результатов и не ждать топчиков. |
Друзья, у нас появился первый, кому покорился этот таск.
Congratulations, crlf! |
Тут брут надо использовать? или все есть файлах?
|
Цитата:
Решением считается url читающий flag.txt, находящийся директорией выше. Ни брут, ни сканеры не нужны. |
Использовать нужно логику, смекалку, умение искать нужную информацию,
применять ее, адаптировать в контексте текущего задания. И еще такой момент - не стоит пытаться прочитать /etc/passwd и тому подобное, open_basedir не даст вам этого сделать, читайте предоставленные в таске файлы. |
Таск оставляет нам широкое поле для деятельности. Давайте попробуем сузить рамки.
Настройки сайта дефолтные, за исключением упомянутого бэйздира, но он нам не интересен. Добавим сюда подсказку и уже можем подкорректировать наши действия, отбросить некоторые догадки и предположения, сосредоточиться на деталях. .SpoilerTarget" type="button">Spoiler: Хинт #1 Не баг и не фича. Стандартные возможности. |
Цитата:
Я ток картинки прочитал, в директории выше, это в html ? Для лоу лвл тяжко |
Цитата:
UPD Не стоит заострять свое внимание на флаге, index.php тоже можно прочитать! Способ один. |
.SpoilerTarget" type="button">Spoiler: del
Удалил что бы не нарушать, мискузи. |
Цитата:
Цитата:
Никаких теорий заговоров, скрытых файлов и тд, исключительно: Цитата:
|
Цитата:
До закрытия задания, никакое обсуждение не ведется. Только автор имеет право развивать тему. |
Есть попытки в нужную сторону, но чего-то не хватает, чтобы сформировать правильный запрос.
Надо сдвинуться с мертвой точки, нам необходима небольшая помощь. .SpoilerTarget" type="button">Spoiler: Хинт #2 Было несколько тасков, в которых нам предоставлялась отличная возможность покопаться в различных обертках, изучить эту кухню подробно. Но все ли мы знаем о них? |
Ну с врапперами всё встало на свои места
|
и враперы и всякое перепробовал нефига не выходит , ток картинки читает и все.
|
такая же херня фильтр необходится. только как принт работает но не выполняет код
|
Во всех статьях одно и тоже пишут, заюзать нефига не работает.
Не плохой такой Таск для новичков Цитата:
|
По поводу сложности.
Это задачка в одно действие, просто нужно найти правильную нотацию для обхода фильтров. И это не зиродей, мне попадался такой вектор, не очень распространен, но гугл его знает. Нормальный таск, с одной стороны и цветным не стыдно повтыкать, и начинающим вполне под силу. Это тот уровень, когда не сложно технологически, не нужно писать код, а скорее - хакерская догадка. Тем больше от этого удовольствие, когда задачка зарешается. Все нормально, втыкаем дальше. |
Прошел, в принципе не сложно)
|
Мертвая точка пройдена, но пока не всеми. И сейчас как раз тот момент, когда может начать подводить бензобак.
Таск прост, но неделю без флага, да, мотивация может подвести. Но все что нам нужно - это маленький финт. Если суммировать не только подсказки, но и некоторые комментарии к таску, наше направление вырисовывается ясно и недвусмысленно. Вариантов не так много, как кажется на первый взгляд. Информации дано достаточно для прохождения, нужно только проанализировать ее и отправить правильный запрос. |
Было интересно, спасибо
|
Хороший таск, ничего сложного.
После хинтов остаётся буквально один шаг до флага. |
С момента запуска задания прошло две недели, а значит пора подводить итоги.
Взглянем еще раз на задание. Нам предлагается прочитать некий flag.txt, который распалагается выше дефолтной веб директории. Узнать это мы можем заглянув в сорцы нашего таска, для нас его любезно закомментировали. Повтыкав немного, понимаем что у нас читалка файлов. В целом задача таска и встречающая нас надпись "Read Me bro!" подтверждает наше предположение. Далее самое интересное - фильтр. Подробно изучив систему фильтрации нашего инпута, приходим к выводам о блокировки большинства врапперов и абсолютных путей. Подняться выше с помощью '..' мы также не можем. И фильтрация php файлов нам на десерт, прочитать index.php просто так не удастся. Трюки с кодировками также не принесут никаких результатов. Но все же фильтруется не все... Наш фильтр пропускает ogg:// rar:// ssh2:// compress.bzip2://. file:// и data:// фильтруются не полностью, в первом случае предупреждение получаем на попытку использования file:///, во втором пропускается data: и data:/. Можно было попробовать повтыкать во все и убедиться что первые четыре никаким образом нам не помогут. Эти обертки не включены по умолчанию и комментарий к первому хинту подтверждает, здесь их не использовать. Цитата:
Обертка 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 ===== Всем спасибо. Пользуясь случаем, поздравляю с Днем защитника Отечества! Таск закрыт. |
|
а как прочитать исход index.php ?
|
Цитата:
.SpoilerTarget" type="button">Spoiler: index index.php?name=file://localhost/var/www/html/index.php |
Цитата:
до localhost так и не допёр. |
Цитата:
а я пытался через data: враппер выпилить флаг) |
| Время: 01:18 |