Löschen:
DELETE FROM table WHERE id = '$idvariable'
Editieren:
UPDATE table WHERE id = '$idvariable' (bin mir hierbei nicht ganz sicher)
Einfügen:
INSERT INTO table WHERE id = '$idvariable'
Sonst ist hier noch ein gutes Tutorial:
http://www.schattenbaum.net/php
Greetz
MaxTPayne
DELETE FROM table WHERE id = '$idvariable'
Editieren:
UPDATE table WHERE id = '$idvariable' (bin mir hierbei nicht ganz sicher)
Einfügen:
INSERT INTO table WHERE id = '$idvariable'
Sonst ist hier noch ein gutes Tutorial:
http://www.schattenbaum.net/php
Greetz
MaxTPayne
Zitat
Original von maxtpayne
Editieren:
UPDATE table WHERE id = '$idvariable' (bin mir hierbei nicht ganz sicher)
Einfügen:
INSERT INTO table WHERE id = '$idvariable'
Ich frage mich was das WHERE bei einem INSERT zu tun hat

|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 |
UPDATE table
SET x = y,
bla = blub
WHERE xyz = zyx
// WHERE ist optional, ansonsten wird halt jeder datensatz geändert ;)
INSERT INTO table (spaltennamen) # optional, sonst muss für jede spalte ein wert vorhanden sein
VALUES( werte der spalten )
|
EDIT:
|
|
PHP-Quelltext |
1 |
SELECT * FROM table WHERE id = $_GET['id']
|
NEVER TRUST INCOMING DATA
Das da oben könnte man über die URL so einfach verändern... im schlimmsten Falle wende ich einfach einen UNION an und klaue dir dein passwort :-O
EDIT 2:
Einrücken ist hier schlimm..
sieht also dumm aus der code Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Shurakai« (19. November 2004, 18:29)
Zitat
Original von Shurakai
Zitat
Original von maxtpayne
Editieren:
UPDATE table WHERE id = '$idvariable' (bin mir hierbei nicht ganz sicher)
Einfügen:
INSERT INTO table WHERE id = '$idvariable'
Ich frage mich was das WHERE bei einem INSERT zu tun hat
![]()
PHP-Quelltext
1 2 3 4 5 6 7 8 9UPDATE table SET x = y, bla = blub WHERE xyz = zyx // WHERE ist optional, ansonsten wird halt jeder datensatz geändert ;) INSERT INTO table (spaltennamen) # optional, sonst muss für jede spalte ein wert vorhanden sein VALUES( werte der spalten )
EDIT:
![]()
PHP-Quelltext
1SELECT * FROM table WHERE id = $_GET['id']
NEVER TRUST INCOMING DATA
Das da oben könnte man über die URL so einfach verändern... im schlimmsten Falle wende ich einfach einen UNION an und klaue dir dein passwort :-O
EDIT 2:
Einrücken ist hier schlimm..sieht also dumm aus der code
kannste nochmal genauer erklären, wo da die sicherheitslücke ist?
mfg
jazzdee
Beispiel: Usertabelle
Klar, so ist das möglich.
Die URL sähe z.B. so aus: showdetails.php?userid=1
Du kannst aber nicht nur Zahlen Anhängen, sondern auch Strings - z.B. SQL-Code. Ohne Schutz würde der in deiner SQL-Abfrage berücksichtigt & ausgeführt. Bei Postnuke gibts da z.B. ne Stelle in der Suche wo du nur über die URL und einem kleinen UNION das Passwort des Admins bekommen kannst
|
|
PHP-Quelltext |
1 |
SELECT * FROM table WHERE userid = $_GET['userid'];
|
Klar, so ist das möglich.
Die URL sähe z.B. so aus: showdetails.php?userid=1
Du kannst aber nicht nur Zahlen Anhängen, sondern auch Strings - z.B. SQL-Code. Ohne Schutz würde der in deiner SQL-Abfrage berücksichtigt & ausgeführt. Bei Postnuke gibts da z.B. ne Stelle in der Suche wo du nur über die URL und einem kleinen UNION das Passwort des Admins bekommen kannst
www.php.net/intval
www.php.net/addslashes
www.php.net/mysql_real_escape_string
Diese Funktionen helfen. Und bei deinem Beispiel wäre ein SQL-Injektion ein Kinderspiel
Bei Zahlen -> intval -> bei Zeichenketten -> die anderen
www.php.net/addslashes
www.php.net/mysql_real_escape_string
Diese Funktionen helfen. Und bei deinem Beispiel wäre ein SQL-Injektion ein Kinderspiel

Bei Zahlen -> intval -> bei Zeichenketten -> die anderen
Zitat
Original von Shurakai
Beispiel: Usertabelle
![]()
PHP-Quelltext
1SELECT * FROM table WHERE userid = $_GET['userid'];
Klar, so ist das möglich.
Die URL sähe z.B. so aus: showdetails.php?userid=1
Du kannst aber nicht nur Zahlen Anhängen, sondern auch Strings - z.B. SQL-Code. Ohne Schutz würde der in deiner SQL-Abfrage berücksichtigt & ausgeführt. Bei Postnuke gibts da z.B. ne Stelle in der Suche wo du nur über die URL und einem kleinen UNION das Passwort des Admins bekommen kannst![]()
Was ist den eine Union?
Und 2. kannst mal so ein Beispiel nennen, wo man das PW rausfindet, ich möchte nämlcih meine Homepage schnell umbauen...
Zitat
Original von Shurakai
Diese Funktionen helfen. Und bei deinem Beispiel wäre ein SQL-Injektion ein Kinderspiel![]()
und WIE kann ich das nun verändern, bzw. sicher machen?
EDIT:
abert moment mal ... ich speichere alle passwörter als md5() ... von daher isses doch scheiß egal, ob du es auslesen kannst? niemand kann md5() zurück konvertieren ...
aber ich würde trotzdem gerne wissen, wie ich verhindern kann, dass jemand dinge aus der db auslesen kann!!!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jazzdee« (21. November 2004, 11:30)



