Metin2 SQL-Injection?

03/21/2010 20:28 .Infinite#1
Wollte mal fragen, ob mir jemand einfach und verständlich erklären kann, wie SQL-Injections funktionieren und wie man sich dagegen schützt. Hab schon viel gesucht, aber immer nur zuemlich komplizierte beschreibungen gefunden.. Ich bin zwar nicht der totale Anfänger. Aber ich besitze auch nicht mehr als die Grundkentnisse in SQL. Wäre dankbar, wenn mir das mal jemand mit Beispielen oder so zeigen könnte.
Sry, wenn das hier nicht reingehört..Dachte nur weil in gewisser Weise hat es ja auch was mit "Gamehacking" zu tun :D
03/21/2010 22:07 Bot_interesierter#2
SQL Injektion funktioniert immer dann, wenn ein User SQL Befehle in ein Query einschleußen kann, also wenn zum Beispiel ein string aus einem Input direkt in einem SQL Query verwendet wird ohne voher zu prüfen ob er eventuell SQL Befehle enthält.
Man kann sich ziemlich einfach davor schützten, in dem man jeglichen Userinput der in ein Query fließt vorher durch eine Funktion schickt die den String auf nicht erlaubte Zeichen prüft bzw ihn davon bereinigt, jede vernünftige webapplication die mit Datenbanken arbeitet hat so eine Funktion.
03/22/2010 03:16 wurstbrot123#3
mysql_real_escape_string zum Beispiel
03/22/2010 17:39 .Infinite#4
Woher weiß ich den, ob so eine SQL Injection z.B. auf meiner Metin2 Regipage möglich ist? (Benutzte gerade die von 'xBLooMx')
03/23/2010 12:46 mctobi#5
Also ich denke das die von xBLooMx nicht mehr die neuste ist, dass in diese eine injection möglich ist da er soweit ich weiß nur nen formular und insert into genommen hat ohne real_escape_string ... Könntest es aber nachfügen :P Dann könnteste auch sein Copyright wegmachen hehe
03/23/2010 19:43 @night@#6
Um eine SQL-injection zu verstehen, musst du wissen wie die SQL befehle funktionieren...
Ich hab zwar keine Ahnung was eine "metin2 Regipage" ist und ich bin auch kein Experte, aber ich kann dir folgendes sagen:
-->Magic Quotes einschalten (Zeichen wie " oder ' werde escaped ('->\')
€dit: Vielleicht heisst es auch anders. Keine Ahnung^^
-->in jeder SQL-Anweisung die (ich nenn's mal) die parameter in '' setzen
"SELECT * FROM table WHERE id = 5"--->"SELECT * FROM 'table' WHERE id = '5'"

So sollte erstmal etwas geschafft sein...
mfg
@night@
03/24/2010 10:41 dannybdanny#7
Musst natürlich eine Seite finden wo Parameter ungeprüft weitergegeben werden.
Da gibt es dann vuln scanner oder du suchst selber mit google...
zb. inurl: php?id=

Und um zu testen ob die Seite vuln ist reicht eig immer ein ' am ende der adresse aus zb.
[Only registered and activated users can see links. Click Here To Register...]'

wenn dann eine mysql warnung ausgegeben wird ist die Seite vuln.
und dann einfach die tabellen die du brauchst suchen..
Dazu gibt es aber eine Menge tutorials..
Mit gamehacking hat es eig nichts zu tun außer die account daten sind auf der Datenbank der Homepage des Entwicklers,und die seite ist vuln.
03/25/2010 06:24 degret backing#8
did anyone click that DON'T KLICK sign?
what is it?


__________________

[Only registered and activated users can see links. Click Here To Register...]


[Only registered and activated users can see links.
Click Here To Register...]