SQL-Injections mit Lazarus möglich - Wo ist da der Bug?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: SQL-Injections mit Lazarus möglich - Wo ist da der Bug?

Beitrag von af0815 »

MmVisual hat geschrieben:Wenn das Probleme bereiten würde, dann wäre sicher JEDE Lazarus-Anwendung mit Datenbanken automatisch ein Sicherheitsrisiko und es wäre hier sicher schon breit diskutiert worden.
Eigentlich nicht. Denn wenn die DB am selben Rechner installiert ist und nicht besonders geschützt ist, so benötige ich für das 'Einbrechen' ja nicht die SQL-Injection, sondern greife direkt darauf zu. Das Thema SQL Injection und andere Einbruchsmöglichkeiten sind erst so richtig im Web attraktiv geworden. Da aber Lazarus bzw. FPC dieses Gebiet nicht so intensiv angeht bzw. nicht die Killerapplikation im Web ist, ist die Diskussion eher flau.

Ich habe das Prepared Statement vor jahr(zehnten) kenngelernt, das man dem SQL Server die Möglichkeit gibt, vor zu kompilieren um die Abarbeitung deutlich beschleunigen zu können. Nach dem Absetzen des Statement kann der Server den Executionplan speichern und nur die Parameter ändern, damit fällt das dauernde Analysieren, Kompilieren und Optimieren des Statements weg (Siehe auch MSDN Executing Prepared Statements . Ein (angenehmer) Nebeneffekt ist, das damit Änderungen am Statement selbst (= Injection von Code) verhindert werden.

Fazit: Wenn die DB ungeschützt am selben Rechner ist, so ist der Schutz vor SQL-Injections eher Akademisch als Praktisch.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: SQL-Injections mit Lazarus möglich - Wo ist da der Bug?

Beitrag von m.fuchs »

af0815 hat geschrieben:
Bauer321 hat geschrieben:durch ein prepared statement sollten eigentlich alle Risiken beiseite sein.
Das Risiko ist vermindert.
Könntest du das noch näher ausführen? Wie sind trotz prepared statement noch SQL-Injections möglich?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: SQL-Injections mit Lazarus möglich - Wo ist da der Bug?

Beitrag von MmVisual »

af0815 hat geschrieben:Eigentlich nicht. Denn wenn die DB am selben Rechner installiert ist und nicht besonders geschützt ist, so benötige ich für das 'Einbrechen' ja nicht die SQL-Injection, sondern greife direkt darauf zu.
In meiner EXE gibt es sogar ein SQL-Eingabefeld mit dem beliebige SQL Befehle eingegeben und ausgeführt werden können. Somit hat jeder vollen Zugriff auf die DB (Eingeschränkt durch die Benutzerrechte).

Mir geht es bei den SQL-Injections vor allem darum, dass bei normalen DB-Felder egal was man ein gibt, kein unbeabsichtigter Nebeneffekt vor kommt.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Antworten