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

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

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

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

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

Категории

Все категории
Loading categories
sqlite-cli-go — SQLite 3.53.4 CLI — High — Local — Инъекция команд — go и слэш-терминаторы, затем dot-команда | Kitploit
Инструменты/GitHubGitHub/abraxas/sqlite-cli-go
Анализ уязвимостейЭксплуатацияВиртуализация для безопасностиКриптографияТестирование на ПроникновениеЛаборатории и Практика
GitHubabraxas/sqlite-cli-go

sqlite-cli-go

SQLite 3.53.4 CLI — High — Local — Инъекция команд — go и слэш-терминаторы, затем dot-команда

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

Популярное

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

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

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

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

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

Abraxas Labs - sqlite-cli-go

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sqlite-cli-go

sqlite-cli-go

Класс: Внедрение команд Доступ: Локальный

SQLite 3.53.4 (b09c88c) по умолчанию sqlite3 CLI по-прежнему воспринимает SQL Server go и Oracle / как терминаторы инструкций. line_is_command_terminator переписывает эту строку в ;. Следующая строка с пустым SQL-буфером — это do_meta_command, поэтому .shell / .output / .read выполняются от имени UID оператора.

--safe по-прежнему блокирует .shell. Этот контроль сохраняется. По умолчанию sqlite3 не включает --safe. Не libsqlite3. Oracle — это echo строки-свидетеля.

IDCVE пока нет
КлассВнедрение команд (CLI-терминатор go / /, затем более поздняя dot-команда)
ДоступЛокальный (жертва запускает sqlite3 по умолчанию на SQL/скрипте атакующего без --safe; UI:R)
CWECWE-78
CVSSHigh: 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
ПродуктSQLite (sqlite3 CLI)
Затронуто3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
Аутентификацияжертва передаёт скрипт в sqlite3 по умолчанию; без --safe
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:18920. Свидетель SQLITE-CLI-GO-WITNESS.

Что может сделать атакующий

После незавершённого SQL в скрипте, который оператор передаёт в sqlite3 без --safe, строка go или /, а затем .shell / .output / .read выполняются от имени UID оператора.

Точка с запятой уже завершает инструкцию. Остаток — это завершающий SQL без ;, поэтому обёртка, считавшая инструкцию всё ещё открытой, всё равно выполняет следующую dot-команду. .shell — это system(). Оракул лаборатории — это echo свидетеля. Не reverse shell.

Как я это нашёл

Двадцать поисков по исходникам 3.53.4 после OpenLiteSpeed. Последний GA, не черновик 3.54.0. Дополнения CLI — не библиотека по умолчанию. --safe — документированный сток для недоверенных скриптов (CVE-2022-46908). Он по-прежнему блокирует .shell. По умолчанию sqlite3 его не включает.

src/shell.c.in по-прежнему содержит путь совместимости с SQL Server / Oracle. Trunk ac6ac0c22d (2026-10-08) отключает его, если не задан SQLITE_SHELL_LEGACY_COMMAND_TERMINATOR. Этот коммит идёт после данного GA.

Уже зафиксированные ошибочные пути: трактовка точки с запятой как того же остатка; повторная подача CVE-2022-46908; ожидание, что --safe включён по умолчанию; называние этого RCE в libsqlite3; использование reverse shell в качестве оракула; привязка к 3.54.0 (черновик).

Лаборатория

cd lab
./run.sh

Собирает официальный sqlite-src-3530400 в стандартный Unix sqlite3 (--disable-readline). Compose sqlite-cli-go. Фиктивный TCP на 127.0.0.1:18920. CLI по умолчанию воспринял go и / как терминаторы, а затем выполнил .shell echo SQLITE-CLI-GO-WITNESS. --safe вывел cannot run .shell in safe mode. Привязка к loopback.

SUCCESS sqlite-cli-go how=go-then-dot-shell slash=yes safe=blocked SQLITE-CLI-GO-WITNESS

Исправление

Прекратить воспринимать go и / как терминаторы — именно это делает trunk ac6ac0c22d, если не задан -DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR. До тех пор запускайте недоверенные скрипты с --safe. --safe — это контроль, который по-прежнему работает.

Ссылки

  • sqlite.org/src тег version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • Официальный zip https://www.sqlite.org/2026/sqlite-src-3530400.zip
  • src/shell.c.in line_is_command_terminator, перезапись process_input, do_meta_command, .shell system() после failIfSafeMode
  • CVE-2022-46908 --safe
  • sqlite.org/cli.html CLI --safe
  • CWE-78
Скачать инструмент