PDA

Просмотр полной версии : [web-6] Удаленное выполнение кода (RCE) на узле smashmusic.edu.stf (standoff365)


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/attachments/29127937/img_53e27a7757.png

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

https://forum.antichat.xyz/attachments/29127937/img_c6b7f9458d.png

3. Подсказка 2 гласит:


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

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


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

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

Код:






https://forum.antichat.xyz/attachments/29127937/img_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/attachments/29127937/img_e2f71d8b51.png

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

Код:



.phtml
.pht
.phar


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

https://forum.antichat.xyz/attachments/29127937/img_c156a08e3b.png

Тестируем

/uploads/test-file.phtml?cmd=ls


и видим результат ls, значит можно пробовать запускать

/home/rceflag



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


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