Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.

Sql Injection

Diskussion: Sql Injection im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige morgn mal. kann hier jemand eine SQL INJECTION vorzeign (mit Lösung) dazu noch erklären warum er was hinschreibt (im ...

Antwort
Alt 30.06.06, 08:04   #1 (permalink)
 
Registriert seit: 10.10.05
sym4nt3c Leistung: Facit NTK
sym4nt3c eine Nachricht über ICQ schicken
Likes: 0
Standard Sql Injection

Anzeige

morgn mal.

kann hier jemand eine SQL INJECTION vorzeign (mit Lösung)

dazu noch erklären warum er was hinschreibt (im Epxloit) ohne das man aber weder den php code noch den sql code kennt.

wie kann man ohne den quellcode zu kennen, die variablennamen, den Tabellennamen usw. wissen oder überhaupt herausbekommen ob sie verwundbar is??

thx im voraus für di mühe wenn sie sich wer antut

sym4nt3c ist offline   Mit Zitat antworten
Alt 30.06.06, 08:15   #2 (permalink)
Senior Member
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard RE: Sql Injection

Zitat:
Original von sym4nt3c

wie kann man ohne den quellcode zu kennen, die variablennamen, den Tabellennamen usw. wissen oder überhaupt herausbekommen ob sie verwundbar is??

thx im voraus für di mühe wenn sie sich wer antut
guten morgen

also meist sind ja die sql injectionen für bekannte codes wie phbb und wie sie alle heisen da ist ja bekanntlich der quelltext einseh bar
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world
Chakky ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 30.06.06, 09:02   #3 (permalink)
Member of Honour
 
Registriert seit: 06.10.01
mido Leistung: Facit NTK
Likes: 1
Standard

Hi.

Zitat:
kann hier jemand eine SQL INJECTION vorzeign (mit Lösung)
Schau mal hier und hier und hier und vorallem hier. Achja, der wikipedia Artikel zu SQL Injections ist auch sehr interessant dennoch einfach und ausführlich gehandhabt.


Zitat:
wie kann man ohne den quellcode zu kennen, die variablennamen, den Tabellennamen usw. wissen oder überhaupt herausbekommen ob sie verwundbar is??
Such mal hier nach 'blind sql injection'.
mido ist offline   Mit Zitat antworten
Alt 28.08.06, 00:51   #4 (permalink)
 
Registriert seit: 27.08.06
julia9 Leistung: Facit NTK
Likes: 0
Standard RE: Sql Injection

Zitat:
Original von sym4nt3c
wie kann man ohne den quellcode zu kennen, die variablennamen, den Tabellennamen usw. wissen oder überhaupt herausbekommen ob sie verwundbar is??
Man muss versuchen Fehler zu generieren, die dann lansam aber sicher dir die Fehlenden Daten sagen
julia9 ist offline   Mit Zitat antworten
Alt 30.08.06, 14:01   #5 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,

Ich bitte einmal darum mir ein Mysterium zu erklären welches nirgends erklärt wird (vll. weils so offensichtlich ist)...

In allen Tutorials die ich bisher gelsen habe wird nie erklärt wie und wo ich zu injecten habe.

Es gibt mehrere Formen okay, eine (die ich als erstes gerne mal durschauen würde) ist, in der Browserzeile einfach was alla "'or''='" einzfügen oder halt andere SQL Befehle.

Aber wie und wo ich es auch ausprobiere es passiert nichts!

Ich habe eine Seite www.ihelpu.eu , gebe besp. meinen usernamen ein und als pass ins pw-Feld "'or''='" oder "+OR+1=1" uvm.

Passieren tut nichts!

Ich beherrsche die Basics von PHP und MySQL ganz gut , verstehe von daher was ich dort mache, aber ich verstehe nicht im geringgsten warum es nirgends klappt.

wenn mir jemand sagen könnte was ich falsch mache oder mir ein beispiel an meiner website geben möchte (dann bitte per PM ) immer her damit, ansonsten werd ich wohl nie dainter kommen...

danke + MfG,

TK
TeeKayo2 ist offline   Mit Zitat antworten
Alt 30.08.06, 14:26   #6 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Natürlich ist nicht jede Seite damit angreifbar, dass müsste klar sein.
Zitat:
Ich beherrsche die Basics von PHP und MySQL ganz gut , verstehe von daher was ich dort mache, aber ich verstehe nicht im geringgsten
Im einfachsten Fall entstehen angreifbare Queries in etwa so:
Code:
$query = "SELECT * FROM tabelle WHERE user = '$name'";
Durch das ' Was man als Namen eingibt, kann man die Anführungsstriche "überwinden" und weitere Sachen an den Query anhängen. Zum Beispiel führt "OR 1" o.ä. dazu, dass die WHERE-Bedingung immer erfüllt ist und alle Datensätze ausgewählt werden.
Wenn du den hier geposteten Links gelesen hättest, wüsstest du das aber auch, also lies die Antworten dir auch durch und sag dann, was genau du daran nicht verstehst.
Lesco ist offline   Mit Zitat antworten
Alt 30.08.06, 16:10   #7 (permalink)
fetzer
Guest
 
Likes:
Standard

hmm ich würde dir empfehlen, das dokument zu lesen und es dann auch selbst auszuprobieren. lad dir dazu am beste eine alte version eines populären skriptes runter und such dir einen dazu passenden exploit. Der Einfachheit zu empfehlen ist deluxeBB <= 1.06 [1] mit dem datz passenden SQL Injection Exploit [2]

[1] http://www.deluxebb.com/community/topic.php?tid=26
[2] Link zum Remote SQL Injection Exploit gibts per PN

[edit]
Um eine illegale Benutzung des Exploits zu verhindern ( da das vorher angegeben skript zu neu war ) hab ich mich für etwas älteres entschieden.
  Mit Zitat antworten
Alt 30.08.06, 19:27   #8 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

@Lesco:

Vll. hatte ich mich auch unklar ausgedrückt. Was die SQL Befehle anget habe ich keine Probleme (naja hatte ich auch genau so gesagt). Ich weiss eher nicht WO ich anzusetzen habe!

@fetzer: Danke, ich schau mir das gleich mal an, aber ich denke es wird wieder nichts weiter sein als eine Demonstration (dazu an einem falschen Beispiel wollte erstmal sehen wie das Injecten in der Browserzeile geht) wie SQL injections funktionieren, wenn man ein fertiges Exploit nimmt und betrachtet.

Wäre um eine Erklärung an meiner Seite (da tun ma keinem weh außer mir) mal sehr dankbar!

source der sql-abfrage gibs gerne per PM dazu.

MfG,

TK

PS: Link zum Exploit hätte ich dann gerne mal
TeeKayo2 ist offline   Mit Zitat antworten
Alt 30.08.06, 19:53   #9 (permalink)
fetzer
Guest
 
Likes:
Standard

das betrachten des exploits bringt dir sehr viel. daraus bekommst dann auch, was du in die browserzeile eintippen müsstest. das exploit ist nur dazu da, um das ganze zu automatisieren und es zu vereinfachen. mehr macht ein sql injection exploit nicht....

PS: PN is raus

Edit:

Der Source einer mysql Abfrage bringt nichts. Wie Lesco oben geschrieben hat: wenn du eine variable in der abfrage hast, die nicht kontrolliert wird, dann ist ein Angriff möglich. Es kommt also nicht nur auf die Abfrage drauf an, sondern auch, was im code passiert...
  Mit Zitat antworten
Alt 30.08.06, 20:12   #10 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,


Danke ersteinmal für den Link.

Das ich Sachen wie '%20OR%201=1 einzugeben habe ist klar, nur ich meine warum funktioniert es nie und vorallem warum funktioniert es nicht auf meiner homepage, ich mache keine " vor jedes ' bisher.


Also wer sich gern emal an meiner seite versuchen möchte möge dieses doch tun und mir mitteilen wie er es gemacht hat bitte...

Thx,


MfG,

Tk
TeeKayo2 ist offline   Mit Zitat antworten
Alt 30.08.06, 22:34   #11 (permalink)
fetzer
Guest
 
Likes:
Standard

eventl. hast du magic_quotes auf on, d.h. es werden die üblichen zeichen (",',...) automatisch escaped. so kann dann natrülich kein angriff geschehen:

Code:
mysql_query("SELECT nick FROM users WHERE pass='$_GET['pass']'");
Angriff mittels

Code:
site.php?pass='%20OR%201=1%20#
dann sähe das ganze so aus:

Code:
mysql_query("SELECT nick FROM users WHERE pass='' OR 1=1 #'");
und das ganze noch mit magic_quotes auf on:

Code:
mysql_query("SELECT nick FROM users WHERE pass='\' OR 1=1 #'");
Ich hoffe du hast verstanden, was ich mein....
  Mit Zitat antworten
Alt 31.08.06, 10:58   #12 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Moin,

Das magic_quotes an ist kann natürlich sein, müsste dann Standard für jeden 1und1 gehosteten Webserver sein weil ich nichts eingestellt/umgestellt habe diesbezüglich.

Das hieße ich könnte mir nochmal n Apache aufn Localhost aufsetzen und es da versuchen he...

Kannst du mir vl. noch sagen weshalb es manchmal verschiedenen Ansätze bezüglich des Browserinjectens gibt ich meine damit manche beginnen mit einem " ' ", manche mit " ") " immer mal anders...


MfG,

TK

EDIT:

1.Rechtsschreibfehler

2.Gibt es eine Möglichkeit/einen Befehl um einen SQL Befehl abzubrechen aber so das man dahinter gleich ein komplettes neues Statement schreiben kann?

Ich stelle mir vor:

sqlfehler: SELECT userdaten FROM userdatenbank WHERE userid=0000

Browserzeile:www.seite.de/verzeichniss.php?userid=0000

durch eine Eingabe von "--" wird in diesem Fall die nicht sichtbare Passwortabfrage umgangen und der SQL Befehl beendet.

Die Frage die sich mir jetzt stellt ist: wie kaann ich den Befehl komplett abbrechen damit ich eine beliebige eigene SELECT Anfrage einschleusen kann?


MfG,

Tko?
TeeKayo2 ist offline   Mit Zitat antworten
Alt 31.08.06, 22:22   #13 (permalink)
fetzer
Guest
 
Likes:
Standard

bei mysql garnicht, da mysql keine 2 befehle über ein mysql_query verarbeiten kann. bin mir nicht sicher, wie der begriff dafür heisst.

es gibt datenbanken die können das, aber wie gesagt: mysql kann das nicht.
einen befehl einfach abbrechen geht meines wissens nicht. du kannst ihn nur verändern.
  Mit Zitat antworten
Alt 01.09.06, 07:18   #14 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,

danke zuersteinmal für deine Antwort.

Wenn es nicht möglich ist einen komplett neuen STring zu starten, wie sieht es dann mit Befehlen alla UNION aus, könnte ich nach einer WHERE Klausel noch ein Union einfügen und somit noch eine 2 Tabelle ansteuern?

Oder muss man sich stellen suchen wo man noch ganz am Anfnag in den Befehl einwirken kann?!

MfG,

Tko?
TeeKayo2 ist offline   Mit Zitat antworten
Alt 01.09.06, 17:09   #15 (permalink)
fetzer
Guest
 
Likes:
Standard

nein musst du nicht. ich kenn mich jedoch leider mit union nicht so gut aus, dass ich sagen könnte, wie es richtig funktioniert. Laut der mysql doku ( *klick* ) sollte es schon möglich sein, nach dem WHERE bzw ganz am ende des strings einen neuen Select befehl zu starten. Am besten du liesst dir die doku mal durch und probierst es selbst aus....
  Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » Sql Injection
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dll injection shinobo Code Kitchen 4 03.02.09 18:49
dll-injection Mo (In)security allgemein 0 06.07.07 19:01
SQL-Injection Zaireking (In)security allgemein 11 04.01.07 14:10
DLL-Injection in ASM? _SharK_ Code Kitchen 10 27.11.06 19:06
Dll injection THRALL Code Kitchen 13 24.10.05 16:40


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61