Kann man mit der Where-Klausel SQL-Injections ausführen?
... und falls es möglich ist, könnte mir noch jemand Beispiele geben, mit welcher Eingabe?
Das Statement sieht in etwa so aus:
SELECT foo
FROM bar
WHERE 1 = 1 AND ...
die Punkte sind der Teil, der generiert wird und zum Teil der Benutzer selbst eingeben kann (um genauere Selektionen zu ermöglichen).
Bei der Ausführung wird nur das erste Statement ausgeführt also wenn man so etwas wie "; DELETE FROM bar;" eingeben würde, würde trotzdem nur das select ausgeführt werden, und das Löschstatement einfach ignoriert werden.
Meiner Ansicht nach müsste es so unmöglich sein, ernsthaft Schaden anzurichten. Oder gibt es noch eine andere Möglichkeit, wie Änderungen vorgenommen werden könnten (mit subqueries kenne ich mich jetzt nicht wirklich aus aber ich denke da kann man kein drop/delete/truncate oder so etwas aufrufen, weil das doch keinen Sinn machen würde)?