bisher war ich nur ein stiller Mitleser. aber ich muss für eine Hausarbeit das Thema SQL-Injection unter Python (empfohlen wurde mir das ganze per SQLite3) bearbeiten.
Ich habe jetzt ein Programm was mir meine Datenbank erzeugt und (4 Spalten, 3 Zeilen) eine Spalte enthält 'User', und dieser soll eigentlich nur seine Daten einsehen und verändern dürfen.
Per SQL-Injection soll im folgenden nun das Passwort (eine weitere Spalte der DB) eines anderen Users geändert werden. Meine SQL-Abfrage ist wie folgt aufgebaut:
Code: Alles auswählen
sql = "SELECT password FROM geheim WHERE user = '" + userin + "'"
cursor.execute(sql)
Code: Alles auswählen
UPDATE geheim SET password = /'1234/' WHERE user = /'Hausmeister/'
Code: Alles auswählen
UPDATE geheim SET password = '1234' WHERE user = 'Hausmeister'
Bei beiden Varianten erhalte ich die Rüclmeldung:
Kann mri jemand helfen wie ich die Injection "richtig" machen kann?Traceback (most recent call last):
File "Daten anzeigen per Eingabe.py", line 13, in <module>
cursor.execute(sql)
sqlite3.OperationalError: near "1234": syntax error
LG
Casisto