Codeby
Блог сообщества Кодебай Чат: @codeby_one Форум: codeby.net Обучение: codeby.academy CTF: hackerlab.pro VK: vk.com/codeby YT: clck.ru/XG99c Сотрудничество: @KinWiz Реклама: @Savchenkova_Valentina
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Codeby
تُعد قناة Codeby (@codeby_sec) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 36 839 مشتركاً، محتلاً المرتبة 3 510 في فئة التكنولوجيات والتطبيقات والمرتبة 17 218 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 36 839 مشتركاً.
بحسب آخر البيانات بتاريخ 26 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 55، وفي آخر 24 ساعة بمقدار 5، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.61%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.93% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 435 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 448 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 14.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل edr, api, вектор, mitre, att&ck.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Блог сообщества Кодебай
Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.academy
CTF: hackerlab.pro
VK: vk.com/codeby
YT: clck.ru/XG99c
Сотрудничество: @KinWiz
Реклама: @Savchenkova_Valentina”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 27 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
semgrep с правилами p/security-audit и p/owasp-top-ten — получаете JSON с координатами подозрительных мест
• Строите граф зависимостей через tree-sitter или cscope, чтобы понять, какие файлы связаны с находками
• Выделяете attack surface — HTTP-хендлеры, парсеры, десериализаторы идут первыми
• Скармливаете LLM конкретные файлы с контекстом вызовов и типов, а не весь репозиторий
Скармливать модели весь codebase — антипаттерн. Даже 128K токенов — это порядка 300–400 страниц кода. Средний open-source проект сильно больше. Модель подавится и выдаст generic-ответ из учебника.
🔑 Ещё одна ловушка — промпты. «Найди уязвимости в этом коде» — прямой путь к мусору на выходе. Рабочий промпт строится по блокам: роль и ограничение, конкретный контекст проекта, тип уязвимости, который ищете, формат ответа и требование обосновать каждый вердикт ссылкой на строку кода. Без структуры модель галлюцинирует.
Где LLM реально хорош: внутренний пентест с доступом к исходникам и bug bounty по open-source целям. Публичный код плюс история коммитов дают модели максимум контекста. Где плохо: аудит бинарей без исходников — декомпилированный код теряет семантику, и модель плывёт.
🛡️ Важный момент для NDA-проектов: код, отправленный в облачный API, покидает ваш контур. Для таких задач — только локальные модели через Ollama с DeepSeek Coder или CodeLlama.
В полной статье — детальный разбор каждого шага workflow, готовые шаблоны промптов и конкретные примеры с реальным кодом.
https://codeby.net/threads/llm-dlya-poiska-uyazvimostei-v-kode-prakticheskii-workflow-ot-sast-do-poc.93750/mcp-server-git. Одна из них (CVE-2025-68143) позволяла через инструмент git_init превратить любую директорию в git-репозиторий, а затем читать из неё файлы через git show. Решение от мейнтейнеров? Полностью удалили инструмент из кодовой базы. Другая (CVE-2025-68144) — argument injection: параметры git_diff и git_checkout передавались в CLI без санитизации. Значение вроде --output=/etc/passwd интерпретировалось как опция командной строки.
Каждая уязвимость по отдельности — CVSS 6.3–6.5, средний уровень. Но в цепочке с prompt injection импакт возрастает кратно: вредоносная инструкция в README репозитория заставляет LLM вызвать уязвимый инструмент, а разработчик жмёт «Разрешить» на автопилоте — десятки раз в день.
🎯 С точки зрения kill chain MCP-серверы закрывают сразу несколько этапов:
• Initial Access — удалённый сервер на Streamable HTTP без аутентификации
• Execution — command injection через tool-параметры
• Credential Access — чтение .env, SSH-ключей, API-токенов
• Collection — path traversal к исходникам и конфигам CI/CD
Самый реалистичный сценарий — внутренний пентест или red team с доступом к сегменту разработки. Машина разработчика с MCP-сервером — это одновременно точка входа, источник креденшалов и плацдарм для lateral movement.
Полный разбор с конкретными PoC, цепочками атак и рекомендациями по защите — в статье на форуме.
https://codeby.net/threads/uyazvimosti-mcp-serverov-rce-ssrf-i-in-yektsii-cherez-odin-post-zapros.93746/OkHttp3 с CertificatePinner, плюс кастомную проверку целостности APK при старте. Стандартный скрипт молча отваливается, а вы даже не понимаете почему.
Именно так начался один из пентестов e-commerce маркетплейса. Четыре часа ушло на декомпиляцию в jadx, поиск конкретного класса с пиннингом и написание точечного хука. После этого IDOR в платёжном API нашёлся за 15 минут. Вся суть мобильного пентеста в одном примере.
🔧 Вот что ломается чаще всего на старте:
• Версия frida-server не совпадает с frida-tools — причина ошибки «Failed to spawn» в каждом втором обращении на форумах. Проверяйте через frida --version и качайте сервер строго той же версии.
• Образ эмулятора с надписью «Google Play» — production-сборка, root недоступен в принципе. Нужен образ с Google APIs, но без Google Play. Классическая ловушка, в которую попадают все хотя бы раз.
• На Android 7+ пользовательские CA-сертификаты не доверяются приложениями по умолчанию. Даже без SSL pinning трафик не пойдёт через Burp, пока сертификат не окажется в системном хранилище /system/etc/security/cacerts/.
📱 Отдельная боль — эмулятор-детекция. Приложение проверяет ro.hardware, ro.product.model, ищет QEMU-артефакты и отказывается работать. Решение — физический Pixel с unlocked bootloader и Magisk. На практике удобно держать оба варианта: эмулятор для статического анализа, физическое устройство — когда эмулятор не проходит проверки.
Лайфхак с Magisk: вместо десяти команд для установки сертификата Burp в системный раздел — поставьте модуль MagiskTrustUserCerts. Устанавливаете сертификат штатно через настройки безопасности, модуль перемещает его в системное хранилище при перезагрузке. Три клика вместо десяти команд.
🎯 Главное, что стоит помнить: APK — это обёртка, цель — серверное API. Root-detection, anti-tampering, SSL pinning — всё это клиентские защиты категорий MASVS-RESILIENCE и MASVS-NETWORK. Они усложняют тестирование, но серверные уязвимости никуда не деваются. Сервер остаётся дырявым вне зависимости от того, проверяет ли клиент наличие su-бинаря.
В полной статье — пошаговая настройка окружения, конкретные команды для каждого этапа и разбор случаев, когда стандартный tooling молча ломается. Всё, что нужно, чтобы дойти от чистого эмулятора до перехваченного трафика.
https://codeby.net/threads/pentest-android-prilozhenii-ot-nastroiki-okruzheniya-do-obkhoda-root-detection-i-ssl-pinning.93723/TSV — медные столбы диаметром 5–10 мкм, пронизывающие кремний. При расстояниях между слоями порядка 50 мкм паразитная ёмкостная связь достигает единиц фемтофарад — на частотах сотен мегагерц этого хватает для наблюдаемой утечки.
🎯 Три канала утечки, которых нет в монолитных SoC
• Substrate coupling — через общую подложку интерпозера (ёмкостная и резистивная связь)
• TSV coupling — через взаимную индуктивность вертикальных переходников в 3D-стеках
• RF/EM coupling — через ближнее электромагнитное поле при наличии антенного элемента на одном из чиплетов
Самое тревожное — модель угроз. Современные чиплетные системы собираются из компонентов разных вендоров. Вычислительный die от одного производителя, память от другого, коммуникационный чиплет от третьего. Достаточно скомпрометировать один элемент в supply chain — и вредоносный чиплет становится внутренним сенсором, который снимает side-channel трассы с расстояния в сотни микрон. Это на порядки ближе, чем любой внешний пробник.
🛡️ UCIe-интерконнект между чиплетами тоже под ударом: сигналы физически покидают кристалл, проходят через интерпозер и имеют значительно бо́льшую амплитуду, чем внутренние on-chip сигналы. Каждый такой переход — наблюдаемая поверхность атаки.
В полной статье разобрали физику утечек, формальную модель угроз и практический workflow корреляционного анализа трасс.
https://codeby.net/threads/side-channel-ataki-na-chiplety-novaya-fizicheskaya-poverkhnost-ataki-v-2-5d-3d-sistemakh.93732/ioctl(fd, BINDER_WRITE_READ, &bwr). Тот же самый вызов, что и при запросе версии ОС. Или при чтении контактов. Или при получении GPS-координат. Для ядра всё это — одинаковые байты в Binder-транзакции.
Это и есть семантический разрыв — фундаментальная проблема аудита Android, над которой бьются больше десяти лет. В отличие от десктопного Linux, где sendto() прямо говорит аудитору «тут отправка данных», на Android всё проходит через цепочку: приложение → libbinder.so → ioctl → Binder-драйвер → system_server. И на уровне системных вызовов любое действие выглядит одинаково.
🔍 Существующие решения делятся на два лагеря, и оба проигрывают:
• Модификация ОС (ClearScope и аналоги) — хуки внедряются прямо в Binder-драйвер и framework. Устойчиво к обходу, но каждое обновление Android требует ручного переноса патчей. Архитектурный тупик для реальных деплоев.
• User-space инструментация (BPFroid, Frida) — не трогает ядро, но обходится. Приложение с native-кодом может дёрнуть ioctl() на /dev/binder напрямую, минуя все хуки. Малварь так и делает.
Исследователи из TU Darmstadt и Athens University разорвали эту дихотомию проектом WOOTdroid. Идея: eBPF-программы загружаются в ядро без его пересборки, цепляются к стабильным tracepoints и перехватывают Binder-транзакции на уровне драйвера. Но в отличие от сырой трассировки, WOOTdroid ещё и декодирует содержимое — имена методов, типизированные аргументы, целевые сервисы.
📊 Цифры с Pixel 9 на Android 16 впечатляют: eBPF-трассировщик перехватил на 33% больше системных вызовов, чем штатный ftrace. При этом overhead по Geekbench — не выше 3.6%. Никаких патчей к ядру, никакой пересборки AOSP, никаких инъекций в процесс приложения.
Почему это важно на практике? Потому что малварь всё чаще использует native-код для обхода user-space мониторинга. Формирует Parcel вручную, вызывает ioctl() напрямую — и Frida, и BPFroid пропускают транзакцию полностью. WOOTdroid сидит в ядре и видит всё, независимо от того, как именно приложение сформировало вызов.
⚡ Отдельно интересен контринтуитивный момент: eBPF-программы работают в sandbox внутри ядра, проходят верификацию перед загрузкой и не могут уронить систему. По сути — kernel-level аудит с user-space безопасностью деплоя.
Полный разбор архитектуры, механики Binder-декодирования и результатов бенчмарков — в развёрнутой статье на форуме.
https://codeby.net/threads/wootdroid-audit-android-binder-ipc-bez-semanticheskogo-razryva.93727/Dsniff — набор инструментов для перехвата и анализа сетевого трафика. Инструментарий позволяет перехватывать пароли, сессионные cookie, анализировать протоколы прикладного уровня и выполнять различные атаки типа «man-in-the-middle» (MITM) в локальных сетях.☁️Функциональность - Перехват паролей и сессионных данных в открытом виде (FTP, Telnet, HTTP, POP, IMAP, SMTP, SNMP, LDAP, NFS, и другие) - Извлечение cookies, HTTP-заголовков и URL - Определение протоколов независимо от порта благодаря Deep Packet Inspection (-m) ⬇️Установка
sudo apt install dsniff
Проверка
dsniff -h
⏺️Базовый перехват на интерфейсе eth0
sudo dsniff -i eth0
⏺️Глубокий анализ пакетов (определение протоколов на любых портах)
sudo dsniff -i eth0 -m
⏺️Исключение HTTPS-трафика из перехвата
sudo dsniff -i eth0 -m "not port 443"
🧿Инструмент необходим для:
- Аудита безопасности локальных сетей
- Обнаружения передачи паролей в открытом виде
- Анализа HTTP-трафика и cookie-сессий
- Демонстрации уязвимостей сетевых протоколов
#dsniff #sniffer #mitm #pentest #tool
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджеромclip-path с нулевой видимой областью. Через 5+ секунд setTimeout запускает плавное раскрытие. Детектор к этому моменту уже сделал снимок пустой страницы, не нашёл совпадений с брендами и пометил её как безопасную. А реальный пользователь видит полноценный клон PayPal или Google и спокойно вводит пароль.
🎯 Что делает эту атаку особенно опасной:
• Не нужно знать архитектуру детектора — работает в black-box режиме
• Не нужна серверная логика — хватает пары строк CSS и JS
• Не нужны adversarial perturbations — никаких модификаций пикселей
• Пользователь ничего не замечает — страница выглядит нормально
Самое интересное: систематический обзор литературы показал, что ни одна предыдущая работа по adversarial robustness фишинг-детекторов не рассматривала timing-вектор. Все исследователи предполагали, что скриншот захватывается корректно. Никто просто не подумал, что атакующий может сыграть на секундомере.
Фикс кажется очевидным — увеличить время ожидания перед снимком. Но это создаёт новую проблему: при массовом сканировании тысяч URL каждая лишняя секунда ожидания превращается в часы простоя pipeline.
Полный разбор обеих стратегий отложенного рендеринга и возможных контрмер — в статье на форуме.
https://codeby.net/threads/obkhod-ml-detektorov-fishinga-cherez-otlozhennyi-rendering-ot-100-k-0-detektsii.93724/Watcher — open-source инструмент от Thales CERT для автоматического отслеживания изменений на сайтах, документах, RSS-лентах и других источниках. Он помогает находить новые IOC, изменённые advisories, утечки и другие артефакты для OSINT, Threat Intelligence и DFIR.Основные возможности ↗️ Мониторинг изменений веб-страниц и документов ↗️ Поддержка сайтов, RSS, PDF и других источников ↗️ Поиск новых IOC, доменов, IP и артефактов ↗️ Уведомления о найденных изменениях ↗️ История изменений и diff-анализ ↗️ Удобный web-интерфейс для расследований Примеры использования 0️⃣ Инициализация окружения:
git clone https://github.com/thalesgroup-cert/watcher.git
cd watcher/deployment
make init
1️⃣ Запуск платформы:
make up
2️⃣ Первичная настройка базы:
make migrate
make superuser
make populate-db
3️⃣ После запуска web-интерфейс будет доступен по адресу:
http://localhost:9002Watcher умеет: 🔎 Следить за множеством источников одновременно HTML-страницы, PDF-документы, RSS/Atom-ленты, API endpoints и другие web-ресурсы. 💻 Автоматически извлекать и индексировать контент Каждый собранный артефакт сохраняется в базе и становится доступен для поиска, фильтрации и анализа. 🕸 Хранить историю изменений Watcher сохраняет предыдущие версии контента и показывает diff между изменениями, что удобно для расследований. 🎯 Организовывать мониторинг пакетами (batches) Источники можно группировать по кампаниям, threat actors, вендорам или направлениям расследования. 🎇 Работает в фоне 24/7 После развёртывания Watcher самостоятельно собирает, индексирует и обновляет данные без ручного вмешательства. #osint #threatintel #dfir #threathunting #blueteam #monitoring #cybersecurity #infosec #opensource 🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
hcxdumptool без единого deauth-фрейма, 40 минут hashcat с правилами — и PSK подобран. К обеду пентестер уже сидел в корпоративном VLAN.
Но самое интересное началось дальше.
🔓 14 BLE-замков на складских дверях — без аутентификации на GATT-запись. Подошёл, отправил команду — дверь открылась. ZigBee-датчики температуры с дефолтным ключом шифрования висели в том же сегменте, что и СКУД. Один объект — три протокола — три точки входа.
И это типичная картина в 2025 году. Компании вкладываются в защиту Wi-Fi, а Bluetooth и ZigBee остаются слепой зоной.
📡 Почему PMKID-атака — главный вектор через Wi-Fi
Классический перехват handshake требует подключённого клиента и deauth-фрейма, который палит вас перед WIPS. PMKID-подход работает иначе: точка доступа сама отдаёт нужный хеш в первом сообщении 4-way handshake. Клиенты не нужны, deauth не нужен — для системы мониторинга вы практически невидимы.
Дальше — офлайн-перебор. И тут критична разница в железе: RTX 3060 выдаёт ~400 тысяч хешей/с для WPA2, встроенная графика ноутбука — десятки тысяч. Поэтому на объекте запускайте только захват, а брутфорс гоните удалённо.
🔑 На что обращать внимание при разведке
• WPA3 Transition Mode в airodump-ng отображается как WPA2 WPA3 в колонке ENC. Если видите это — WPA2-часть атакуема стандартными методами
• Скрытые SSID — не защита. Probe request клиента содержит имя сети в открытом виде. Достаточно дождаться переподключения
• WPS включён — проверяйте через wash -i wlan0mon -C. Иногда Pixie Dust — самый быстрый путь внутрь
📱 BLE и ZigBee — забытый фронт
BLE-устройства в корпоративной среде — это замки, трекеры, датчики. Многие из них не требуют аутентификации на уровне GATT. Ubertooth One остаётся единственным доступным инструментом для полного BLE-сниффинга на link layer — проекту уже пять лет, альтернатив нет.
ZigBee-сети автоматизации зданий часто используют дефолтные ключи шифрования. zbstumbler из KillerBee покажет PAN ID и координаторы, а дальше — перехват и replay.
Полный разбор с командами, ограничениями каждого метода и контрмерами — в статье на форуме.
https://codeby.net/threads/besprovodnoi-pentest-v-2025-ataki-na-wi-fi-bluetooth-i-zigbee.93711/Hetty — это набор инструментов HTTP для исследований в области безопасности. Его цель — стать альтернативой с открытым исходным кодом коммерческому программному обеспечению, такому как Burp Suite Pro, с мощными функциями, адаптированными к потребностям сообщества специалистов по информационной безопасности и программ поиска уязвимостей.📐Характеристики: 📉 Hetty является бесплатным аналогом, написаным на GO, что делает его более оптимизированым, чем проприетарный Burp Suite написаный на Java. 📉 HTTP Proxy и MITM 📉 Request sender (Repeater в Burp). Также можно редактировать запрос и смотреть на реакцию сервера. 🖱 Использование SQLite для сохранения прогресса. ⬇️Установка: 0️⃣Клонируем репозиторий и переходим в рабочую директорию:
git clone https://github.com/dstotijn/hetty.git
cd hetty/
1️⃣Устанавливаем необходимые утилиты и пакетный менеджер:
sudo apt install nodejs npm -y
sudo npm install --global yarn
2️⃣Собираем проект:
make build
⛓️💥Запуск:
./hetty
#web #wapt #burpsuite #http
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджеромpacman и отсутствием графического окружения, пока остальные с Kali уже сканировали учебные цели через nmap. К обеду трое переставили систему, двое ушли. А один человек с Parrot OS тихо работал весь день без единой проблемы.
Эта ситуация отлично иллюстрирует главное заблуждение: лучший дистрибутив для пентеста — не тот, где больше инструментов, а тот, который не мешает работать.
🔍 Вот что реально отличает три главных дистрибутива 2026 года:
• Kali Linux — Debian Testing, пакетный менеджер apt, курированный набор из 600+ инструментов. Offensive Security тестирует каждый пакет перед включением. Xfce по умолчанию, потребление в idle — 800–1200 МБ RAM.
• Parrot OS — тоже Debian, но с MATE и заметно меньшим аппетитом: 400–700 МБ в idle. Из коробки идут AnonSurf для маршрутизации через Tor, встроенное шифрование, и есть Home Edition — полноценная повседневная ОС без пентест-арсенала.
• BlackArch — репозитории поверх Arch Linux, pacman, rolling release. Тысячи пакетов, но конфликты зависимостей — полностью ваша головная боль. GUI из коробки может вообще отсутствовать.
⚡ Практический момент, который мало кто проговаривает. Разница между apt и pacman — не синтаксис. Это разные последствия ошибок. Когда в три ночи на внешнем пентесте hashcat отказывается запускаться после обновления, в Kali вы откатите пакет за минуту. В BlackArch придётся разбираться с цепочкой зависимостей от пяти минут до часа. В три ночи час — это очень много.
💡 Конкретный кейс с железом: ThinkPad X230, 4 ГБ RAM, HDD. Parrot не тормозил при одновременном Burp Suite и Firefox с десятком вкладок. Kali на том же железе ощутимо задумывался при переключении между приложениями. Если у вас старый ноутбук — Parrot объективно комфортнее.
И ещё важный маркер. Половина дистрибутивов из «топ-10 для хакинга» — мертвы. Cyborg Linux, DEFT, Bugtraq — всё это не обновлялось годами. Если в обзоре 2026 года вы видите эти названия — перед вами копипаста из 2019-го.
В полной статье — decision tree для выбора, детальные системные требования и разбор инструментов по категориям. Читайте и выбирайте осознанно.
https://codeby.net/threads/luchshii-distributiv-dlya-pentesta-kali-linux-vs-parrot-os-vs-blackarch-chestnoye-sravneniye-2026.93771/Недавно команда AI Defense из Cisco представила Model Provenance Kit — open-source инструмент для анализа происхождения ML-моделей. Проект помогает ответить на важный вопрос: действительно ли модель была обучена “с нуля”, или она является производной от другой модели?❓ Что такое Model Provenance Model provenance — это установление происхождения модели на уровне ее обученных весов. Проще говоря, инструмент позволяет определить: ⏺️ была ли модель fine-tuned версией другой модели ⏺️ использовался ли distillation ⏺️ является ли checkpoint переименованной копией ⏺️ происходят ли две модели из общего базового источника Cisco сравнивает этот процесс с ДНК-анализом моделей. 🎇 Как работает инструмент Model Provenance Kit использует двухэтапный анализ. 1️⃣ Быстрая архитектурная проверка На первом этапе анализируются: ▶️ конфигурация модели ▶️ структура слоев ▶️ tokenizer ▶️ metadata Если архитектура явно совпадает — система может сделать вывод без загрузки весов. 2️⃣ Анализ весов модели Если метаданных недостаточно, запускается глубокий анализ весов: ▶️ embedding geometry; ▶️ normalization layers; ▶️ energy profiles; ▶️ прямое сравнение параметров; ▶️ корреляционные сигналы. На основе этих признаков рассчитывается итоговый similarity score. ⬇️ Установка
git clone https://github.com/cisco-ai-defense/model-provenance-kit.git
cd model-provenance-kit
uv sync
Для работы достаточно CPU — GPU не требуется. Cisco отмечает, что архитектурные проверки выполняются за миллисекунды, а извлеченные признаки кешируются для повторного использования.
🎯 Пример использования
🧿 Сканирование модели по базе известных fingerprints
provenancekit scan bigscience/bloom-560m
Инструмент:
⏺️извлекает fingerprint модели;
⏺️запускает 3-stage lookup;
⏺️возвращает наиболее вероятные совпадения.
🪧 Сравнение двух моделей
provenancekit compare gpt2 distilgpt2
Результат включает:
➡️ metadata score;
➡️ tokenizer similarity;
➡️ weight-level similarity;
➡️ итоговый pipeline score.
#ai #llm #mlsecurity #cisco #supplychain #opensource
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджеромFormFlash, который сохраняет данные форм между HTTP-редиректами. Он принимает идентификатор сессии из POST-параметра __form-flash-id и использует его напрямую при построении пути к директории записи. Значение конкатенируется со строкой tmp://forms/ без проверки на символы вроде ../. Подставил traversal-последовательность — вышел за границы временной папки и пишешь куда хочешь.
Разработчики обращались с этим параметром как с доверенным: «ну строка из POST, она же не в SQL попадает». В классической архитектуре с СУБД это могло бы сойти. Но в flat-file системе запись файла = модификация конфигурации = контроль над приложением.
⚡ Что получает атакующий на практике:
• Запись в user/config/ — изменение поведения сайта и плагинов через инъекцию YAML-конфигурации
• Запись в user/accounts/ — порча или подмена учётных данных, хешей паролей, 2FA-секретов
• Запись в user/pages/ — инъекция контента, потенциальный SSTI через Twig-шаблоны
CVSS 8.8 (HIGH), ноль привилегий, CISA оценивает Technical Impact как total. Эксплуатация автоматизируема — достаточно одного POST-запроса к любой странице с формой. А формы есть почти везде: контактная страница, /admin/login, регистрация.
🧩 Ключевой фрагмент уязвимого кода выглядит обманчиво просто. Метод __construct() класса FormFlash берёт session_id из POST и склеивает с путём без вызова basename() или regex-валидации. Одна пропущенная проверка — и вся файловая система webroot открыта для записи.
По классификации MITRE это CWE-22 (Improper Limitation of a Pathname). По OWASP Top 10 — одновременно A01 (Broken Access Control) и A03 (Injection). Редкий случай, когда одна строка кода попадает сразу в две категории критичных уязвимостей.
📌 Если вы работаете с Grav или проводите аудит flat-file CMS — в полной статье разобран весь путь: от уязвимой строки PHP до рабочего HTTP-запроса, с маппингом на ATT&CK и контекстом предыдущих CVE движка.
https://codeby.net/threads/grav-cms-uyazvimost-path-traversal-0-day-v-formflash-bez-autentifikatsii.93718/