Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sqlite-cli-go — SQLite 3.53.4 CLI - Hoch - Lokal - Command Injection - go und Slash-Terminatoren, dann Dot-Command | Kitploit
Tools/GitHubGitHub/abraxas/sqlite-cli-go
SchwachstellenanalyseExploitationSicherheitsvirtualisierungKryptographiePenetrationstestsLabs & Praxis
GitHubabraxas/sqlite-cli-go

sqlite-cli-go

SQLite 3.53.4 CLI - Hoch - Lokal - Command Injection - go und Slash-Terminatoren, dann Dot-Command

Repository anzeigen
10vor 6 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - sqlite-cli-go

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

sqlite-cli-go

Klasse: Command Injection Reichweite: Lokal

Die Standard-sqlite3-CLI von SQLite 3.53.4 (b09c88c) behandelt SQL-Server-go und Oracle-/ weiterhin als Statement-Terminatoren. line_is_command_terminator schreibt diese Zeile in ; um. Die nächste Zeile mit leerem SQL-Puffer ist do_meta_command, sodass .shell / .output / .read als UID des Operators ausgeführt werden.

--safe blockiert .shell weiterhin. Diese Kontrolle hält. Standard-sqlite3 aktiviert --safe nicht. Nicht libsqlite3. Oracle ist echo eines Witness-Strings.

IDnoch keine CVE
KlasseCommand Injection (CLI-go / /-Terminator, dann ein späterer Dot-Command)
ReichweiteLokal (Opfer führt Standard-sqlite3 auf Angreifer-SQL/Skript ohne --safe aus; 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
ProduktSQLite (sqlite3 CLI)
Betroffen3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
AuthOpfer speist ein Skript in Standard-sqlite3 ein; kein --safe
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18920. Witness SQLITE-CLI-GO-WITNESS.

Was ein Angreifer tun kann

Nach nicht abgeschlossenem SQL in einem Skript, das der Operator ohne --safe in sqlite3 einspeist, wird eine go- oder /-Zeile gefolgt von .shell / .output / .read als UID des Operators ausgeführt.

Ein Semikolon beendet bereits ein Statement. Der Rest ist abschließendes SQL ohne ;, sodass ein Wrapper, der das Statement noch für offen hielt, den nächsten Dot-Command trotzdem ausführt. .shell ist system(). Das Lab-Oracle ist echo eines Witness. Keine Reverse Shell.

Wie ich es gefunden habe

Zwanzig Source-Hunts von 3.53.4 nach OpenLiteSpeed. Neuestes GA, nicht der 3.54.0-Draft. CLI-Extras sind nicht die Standardbibliothek. --safe ist der dokumentierte Sink für nicht vertrauenswürdige Skripte (CVE-2022-46908). Es blockiert .shell weiterhin. Standard-sqlite3 aktiviert es nicht.

src/shell.c.in enthält weiterhin den SQL-Server-/Oracle-Kompatibilitätspfad. Trunk ac6ac0c22d (2026-10-08) deaktiviert ihn, außer bei SQLITE_SHELL_LEGACY_COMMAND_TERMINATOR. Dieser Check-in erfolgt nach diesem GA.

Bereits dokumentierte Irrwege: ein Semikolon als denselben Rest behandeln; CVE-2022-46908 erneut einreichen; erwarten, dass --safe Standard ist; dies als libsqlite3-RCE bezeichnen; eine Reverse Shell als Oracle verwenden; 3.54.0 (Draft) pinnen.

Lab

cd lab
./run.sh

Baut offizielles sqlite-src-3530400 in Standard-Unix-sqlite3 (--disable-readline). Compose sqlite-cli-go. Dummy-TCP auf 127.0.0.1:18920. Standard-CLI behandelte go und / als Terminatoren und führte dann .shell echo SQLITE-CLI-GO-WITNESS aus. --safe gab cannot run .shell in safe mode aus. Bind Loopback.

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

Der Fix

go und / nicht mehr als Terminatoren behandeln, was Trunk ac6ac0c22d tut, außer bei -DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR. Bis dahin nicht vertrauenswürdige Skripte mit --safe ausführen. --safe ist die Kontrolle, die weiterhin hält.

Referenzen

  • sqlite.org/src Tag version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • Offizielles Zip https://www.sqlite.org/2026/sqlite-src-3530400.zip
  • src/shell.c.in line_is_command_terminator, process_input-Rewrite, do_meta_command, .shell system() nach failIfSafeMode
  • CVE-2022-46908 --safe
  • sqlite.org/cli.html CLI --safe
  • CWE-78
Tool herunterladen