ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   [web-6] Удаленное выполнение кода (RCE) на узле smashmusic.edu.stf (standoff365) (https://forum.antichat.xyz/showthread.php?t=1652353)

d1lya 17.02.2026 16:12

Это мой первый 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 гласит:
Цитата:


Изучите JWT и уязвимость в его секрете:

Анализируйте содержимое cookie, чтобы найти JWT (JSON Web Token) и попытайтесь его расшифровать.
Попробуйте брутфорсить секрет JWT для получения доступа к административным функциям.


Но я слишком ленивая и решила попробовать загрузить файл без взлома JWT, а напрямую через POST ./uploadMusic.php

Имитирую загрузку файла в burp test-file.php с классическим payload-ом

Код:


Код:


https://forum.antichat.xyz/attachmen...1776f32e06.png

Получаю
Код:

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.
Пробуем с разрешенными типами (и сразу пробую двойное расширение .php.mpeg):

https://forum.antichat.xyz/attachmen...e2f71d8b51.png

Файл загружен, он появился в http://10.124.1.241/uploads/
Но выполнить скрипт php не выходит, поэтому пробуем другое расширение. Есть разные варианты, например

Код:


Код:

.phtml
.pht
.phar

Пробуем - получилось через .phtml (filename="test-file.phtml")

https://forum.antichat.xyz/attachmen...c156a08e3b.png

Тестируем
Код:

/uploads/test-file.phtml?cmd=ls
и видим результат ls, значит можно пробовать запускать
Код:

/home/rceflag
Код:

/uploads/test-file.phtml?cmd=%20/home/rceflag
И видим наш долгожданный флаг без геморроя с JWT.


Время: 07:56