Frage von DronenKevin420, 41

Wie macht man eine SQL-Injection?

Kapier das irgendwie net so richtig... hab mich auf paar foren etc eingelesen aber kapiere niczt wie man die commands gliedert.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von OnionTech, 6

Aufbau:

-Präsentationsschicht  zb. www.amazon.de (Webbrowser)

-Logikschicht, index laden, kompillieren, ausführen (Prog.sprachen: #C, ASP, .NET, PHP, JSP usw.

-Anwendungsschicht, übergibt Daten an Webserver

- Speicherung, SQL ausführen (Datenbanken, MS SQL, MySQL, Oracle usw.

Das ist sehr, sehr kurz erklärt.

SQL injection funktioniert so, das SQL in Anwendungs oder Benutzereingabeparameter eingefügt wird die an SQL Back End Server übergeben werden. Wie man das durchführt kann man nicht so genau sagen, das funktioniert bei jeder Datenbank anders (welche Datenbank genau, welche Sprache, Sicherung etc..). Einfach so in die URL Cods eingeben ist bei POST-Parameter quatsch, da muss man zusätzlich Instrumente einsetzen oder Inline-Proxyanwendungen. Bei GET würde es funktionieren.

Beispiel: Gibt man z.b. in die URL folgendes ein "http://www.motherfuckerwebsite.com/cms/login.php?username=foo&passwort=bar' OR '1'='1" würde "true" zurück kommen. (Seite gibt es wirklich, Code funktioniert hier aber nicht). Denn das OR ist immer wahr, da 1 schließlich 1 ist. Oder '2' und '2' ist nicht 4 sondern 22 usw. Das ' ist ein Trennzeichen zwischen Code und Daten. Das wäre ein Beispiel.

Bei der SQL injection kommt es auf die Stringerstellung an, also man arbeitet mit den Fehlern die eine SELECT, UPDATE, INSERT oder DELETE-Anweisung zurückgibt, nur so kann man Anfälligkeiten erst finden. Nachdem die gefunden sind können sie ausgenutzt werden, soweit die jeweilige Programmiersprache reicht. Zb. ist die Seite durch HTML, Javascript, PHP und SQL aufgebaut und die kannst die Sprachen gut dann kommst du gut durch die SQL injection und kannst sie auch ziemlich gut ausnutzen. Wenn du weiter ins System willst, z.b. auf dessen Server und willst einen Virus pflanzen dann musst du dort nochmal die Sprache können, z.b. C. 

Das heißt also ohne irgendwelche Sprachen zu können, bringen die auch Tools nicht weiter, denn sonst weiß man ja gar nicht was man machen soll!

Antwort
von Fregrin, 16

Schau dir zum Beispiel mal die Erklärung von PHP an: http://php.net/manual/de/security.database.sql-injection.php dort werden auch einige Beispiele geliefert.

Antwort
von Zebbinho, 23

Commands gliedern? Ich tippe Du fragst nach SQL-Syntax?!

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten