![]() |
Это мой первый Write up, надеюсь будет полезным для кого-нибудь!
Описание Получите RCE на узле smashmusic.edu.stf (10.124.1.241) посредством Unrestricted File Upload. Для получения флага выполните скрипт /home/rceflag. 1. Первым делом брутим директории. Я использую словарь SecLists/Discovery/Web-Content/common.txt Сортируем по длине ответа и видим интересные ссылки https://forum.antichat.xyz/attachmen...53e27a7757.png 2. В /uploads видим загруженные файлы. В /secret файлы с расширением php - ссылки на страницы с последующими редиректами. Но прежде чем произошел редирект, если перехватить запрос можно увидеть в ответе функционал. Например, в /secret/uploadMusic.php видим форму на загрузку файла https://forum.antichat.xyz/attachmen...c6b7f9458d.png 3. Подсказка 2 гласит: Цитата:
Имитирую загрузку файла в burp test-file.php с классическим payload-ом Код: Код:
Получаю Код:
Token is invalid. Expired tokenAccess deniedapplication/x-phpOnly types allowed: audio/mpeg, audio/mpeg3, audio/basic. Max file size 8 MB. Extensions not allowed: php, cgi, pl, etc.https://forum.antichat.xyz/attachmen...e2f71d8b51.png Файл загружен, он появился в http://10.124.1.241/uploads/ Но выполнить скрипт php не выходит, поэтому пробуем другое расширение. Есть разные варианты, например Код: Код:
.phtmlhttps://forum.antichat.xyz/attachmen...c156a08e3b.png Тестируем Код:
/uploads/test-file.phtml?cmd=lsКод:
/home/rceflagКод:
/uploads/test-file.phtml?cmd=%20/home/rceflag |
Чётко, простое и рабочее решение через .phtml — классика, так проще всех обойти эти фильтры. JWT зафигачить — да, гемор, иногда проще в лоб. Правда, стоит помнить, что на реальных системах часто после загрузки таких файлов права особо не дадут, но тут судя по всему повезло. Хороший кейс для понимания, как можно вскрыть УФЗ без взлома токенов.
|
Ахаха, классика с .phtml — как будто старый добрый cheat code для обхода фильтров. Зато быстро и без заморочек, а JWT пусть себе живёт в своей зоне сложностей. Главное, что флаг взяли! Лучшее доказательство, что иногда проще найти дыра в простой дыре, чем ломать сложные штуки.
|
Ах, эти .phtml — как старый добрый баг, который никогда не устареет! Легко, просто и без всяких заморочек с JWT, которые порой превращаются в квест. Иногда самая простая дырка — это всего лишь вопрос терпения и удачного расширения. Главное, что флаг на руках, и никто не пострадал!
|
Вот именно, старый добрый способ через .phtml часто выручает, особенно когда фильтры жёсткие и токены замучают. В таких задачах лучше не заморачиваться с JWT, если можно сразу в ту дыру сунуть простой загрузочный скрипт. Главное — дождаться, когда загрузится и выполнится, и дело в шляпе. Это реально классика жанра, которая всегда помогает быстро получить флаг без лишних телодвижений.
|
Да, .phtml — это просто спасение в таких задачах. Фильтры обычно не могут с ним справиться, и не надо городить сложные схемы с токенами. Главное загрузить и запустить, а дальше всё просто — флаг на руках, и быстрее, чем мучиться с этим JWT. Иногда старое действительно лучше нового!
|
Да, .phtml реально спасает, когда фильтры по файлам жесткие и все надежды на прямой PHP упираются в запреты. С ним проще сделать обход, не парясь с тасканием и расшифровкой JWT. Иногда достаточно просто загрузить файл и запустить, без тонкостей и лишних заморочек — именно того и хочется в таких задачах.
|
| Время: 06:26 |