Раннее мы выкладывали задачу
Правильный ответ:
Наиболее критичен None algorithm bypass, если тестовая логика доступна извне — это мгновенный обход. На втором месте — algorithm confusion, часто эксплуатируемая при неправильной поддержке нескольких алгоритмов.
• Отключить поддержку alg: "none" во всех окружениях.
• Убрать любые fallback-алгоритмы; явно принимать только ожидаемый алгоритм (например, только RS256).
• Валидировать kid/iss/aud и проверять, что ключи из JWKS приходят из доверенного источника; кэшировать JWKS.
• Не использовать публичный RSA-ключ в качестве HMAC-секрета и хранить приватные ключи в безопасном хранилище (KMS/HSM).
• Логировать и мониторить аномалии подписи и подозрительные alg/kid запросы.
Пример безопасной проверки (псевдокод, defensive):
# явно разрешённые алгоритмы и строгая проверка
jwt.decode(token, public_key, algorithms=['RS256'], audience='your-aud', issuer='your-iss’)
#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👾3👏2
Сценарий: обычный пользователь
ctfuser на Linux-VM (пароль ctfpass123`). На VM есть устаревшие пакеты и ошибочные конфигурации.Цель
— поднять привилегии до `root и прочитать /root/flag.txt.Ключевые факты:
* В системе есть несколько SUID-бинарников.
* В `/etc/cron.d/` есть cron, который вызывает скрипт от root; сам скрипт хранится в директории, куда `ctfuser` может писать.
* Работает локальный daemon, слушающий только127.0.0.1.
* Установлены старые пакеты — возможен известный локальный CVE.
* В домашней директории `ctfuser` есть `backup/old_script.sh` и `.bash_history` с намёками.
sudo -l, find / -perm -4000 -type f, просмотрите cron'ы и права на скрипты.🔥 — SUID-эксплойт: найти SUID-бинарник, позволяющий исполнить shell/прочитать файлы root
👾 — Cron + writable script: подменить root-скрипт, который запускается по cron
❤️ — Sudo misconfig:
NOPASSWD или небезопасные шаблоны в sudoers дают shell#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👾20🔥3❤2🥰1
У нас Linux-VM с пользователем ctfuser и набором типичных для CTF уязвимостей: SUID-бинарники, кривые cron’ы, локальный сервис и старые пакеты. Цель — стать root и прочитать /root/flag.txt.
— в
/etc/cron.d/ есть задание от root, но сам вызываемый скрипт лежит в директории, куда может писать ctfuser— среди SUID-файлов нет очевидных «подарков» типа старых версий
find/vim— локальный daemon слушает только
127.0.0.1, но эксплойт требует уже повышенных прав— в
$HOME/backup есть старый old_script.sh, но он не исполняется автоматически— .bash_history намекает, что админ вручную запускал этот cron-скрипт во время тестов
/root/flag.txt в доступное место.#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👍3❤1