SQL-Injection noch möglich 2019?

2 Antworten

Klar funktioniert das noch. Jeden Tag fängt jemand mit Programmieren an, der noch nichts von SQL-Injection gehört hat. Ist man sich einer Gefahr nicht bewusst, kann man diese auch nicht gezielt verhindern.

Schlampiges Beispiel:

Du hast eine Website, die mit site.php?ID=1 aufgerufen wird. Für die Datenbankabfrage verwendest Du folgende Query:

SELECT heading, content FROM sites WHERE ID=1;

Nun ruft der böse Hacker nicht "site.php?ID=1" auf, sondern "site.php?ID=1;UPDATE+user+SET+role="admin"+WHERE+USERNAME=ich". Für die Datenbankabfrage entsteht dann die Query:

SELECT heading, content FROM sites WHERE ID=1;UPDATE user SET role="admin" WHERE USERNAME="ich";

Und schon hast Du den Salat - Username "ich" hat kurzerhand Administratorrechte bekommen. :-)

Man ist sich mittlerweile einfach der Problematik eher bewusst und kennt verschiedene Methoden. Dadurch achtet man (hoffentlich) auf eher darauf, keine Lücke zu öffnen. Deshalb gelten einige SQL-Injections-Methoden vermutlich als "unmöglich". Als Gegenmaßnahme werden beispielsweise "Prepared Statements" verwendet.

Sei dir aber bewusst, dass das Ausnutzen solcher Sicherheitslücken als Straftat gelten kann.

Woher ich das weiß:eigene Erfahrung
um bei unsicheren php=id1 Seiten auf die Datenbanken zugriff gewähren zu können

Jein. Also erstmal index.php?id=3 ist per definition nicht unsicher und nur weil nun viele URLs nach dem Schema seite.de/id/3 aufgebaut sind heißt das auch nicht, dass diese Seiten nicht angreifbar sind...

Wenn Seiten zB mit AJAX nur einzelne Daten nachladen lassen sich diese Vorgänge mit einem intercepting Proxy wie zB BurpSuite aufdecken und die URLs und Parameter protokollieren.

Außerdem laufen auch viele Abfragen über Formulare (also POST-Parameter) und nicht GET wie in deinem Beispiel.

Wege gibt es nach wie vor genug - allerdings sind es oft nicht die Seiten die sicherer werden sondern die Hoster die WAFs oder ein IDS nachrüsten!

theoretisches Video dazu vorschlagen oder erklären wie das in der Theorie funktioniert falls man über SQL-Injections noch Datenbanken hacken kann?

SQLi funktioniert wie immer - dein Problem scheint zu sein, dass du nicht von der umgeschriebenen URL auf die Parameter kommst oder nicht die ganzen Hintergrund-AJAX-Requests aufdeckst mit denen du viel anfangen kannst...

hat über SQL Injections gesprochen die nicht mehr richtig möglich sind und das nur Theorie ist für alte Websites

Sorry aber das ist m.M.n. quatsch - klar findet man nicht mehr per Google-Suche tausende URLs die man man automatisch testen kann indem man php?id=2 in php?id=2' umschreibt. Vor allem sehr primitive SQLi-Suchtools werden nutzlos und auch bei bekannten Tools steigen teilweise falsche Positivmeldungen.

Außerdem schaffen es die üblichen Verdächtigen wie zB sqlmap oftmals nicht mehr vollautomatisch einen Angriff durchzuführen.

Das alles heißt aber nicht, dass diese Angriffe unmöglich sind oder nicht mehr vorkommen. Es steigert sich nur der Schwierigkeitsgrad. Zu Zeiten von Windows 95, 98, me, ... hatten es Viren auch einfacher und Würmer verbreiteten sich teilweise wie ein Lauffeuer - denk am Loveletter... Ein VBS-Script, dass einfach loveletter.txt.vbs hieß, dass per doppelklick ausgeführt wurde und sich dann selber als Massenmail an alle Outlook-Kontakte versendet würde heute einfach kaum mehr klappen. Auch die gute alte LetzteMahnung.pdf.exe findet heute kaum noch Opfer und selbst wenn dann werden viele Dinge wie unkontrolliertes Massenmailing, etc. oftmals schon von Providern unterbunden mit Stündlichen Quotas, etc.

Aber auch die Systeme ändern sich - wer ist heute noch als Admin unterwegs auf Windows und vor allem wer startet heute noch alle Programme wie Outlook, Firefox, Word, etc. mit Admin-Rechten?

Langer Rede kurzer Sinn - nach 15-20 Min Youtube-Scriptkiddy-Tutorials bist du nicht in der Lage 25-30% der Seiten weltweit mit einem SQLi-Angriff zu knacken. Heute braucht es mehr Wissen und oftmals deutlich mehr Geduld und Ausdauer als nur sqlmap mit URLs zu füttern. Aber wenn du das nötige Wissen erwirbst wird die Quote der Seiten die du mit SQLi angreifen kannst nicht erheblich geringer sein also anno dazumal...

Woher ich das weiß:Berufserfahrung – Pentester & Sachverständiger für IT Sicherheit