Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Datenbankeintrag sicher?

  -1- -2- vorwärts >>>  
solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 10:52 Uhr

Guten morgen ich bins ma wieder :D

Heut wollt ich mich ma erkundigen wie ich einen Datenbankeintrag (mysql) sicher gestalten kann....
Folgendes:
Ich geb dem User über meine Page die Möglichkeit eine Nachricht zu hinterlassen...das Feld wo die Nachricht reinkommt würd nicht auf Zeichen oder sonstiges geprüft da mich es als User persönlich auch aufregen würde andauernd iwelche Zeichen nicht machen zu dürfen.
Daher ist diese Eingabe aber auch unsicher und ein gefundenes Fressen für Hacker. Im Moment mach ich es so das ich die Nachricht vom user per "base_64_decode/encode (php)" verschlüsselt in die Datenbank reinschreibe und auf der page entschlüsselt wieder ausgebe...Nun wollt ich fragen wie die Datenbank mit dem verschlüsselten Text umgeht? Sieht sie nur die Zahlenreihenfolge an sich (VerschlüsselungsCode) oder erkennt sie was hinter der verschlüsselung steht??

Danke schon mal ;)

´o_O`

rootie - 38
Profi (offline)

Dabei seit 02.2009
516 Beiträge

Geschrieben am: 14.05.2009 um 10:58 Uhr

Sollte in der Datenbank eigentlich nur verschlüüselt auftauchen, aber sicherheitshalber schau doch einfach kurz in der DB nach was drinne ist, das Adminpasswort hast du ja ;-)
Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 14.05.2009 um 10:59 Uhr

dann solltest du darauf achten,dass der code danach nicht mehr als ausführbar ausgegeben werden kann

Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

Nitek - 41
Champion (offline)

Dabei seit 01.2003
4129 Beiträge

Geschrieben am: 14.05.2009 um 11:01 Uhr

Also so wie ich dich verstanden habe suchst du eher sowas hier:
mysql_real_escape_string

;-)
solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:11 Uhr

Zitat von rootie:

Sollte in der Datenbank eigentlich nur verschlüüselt auftauchen, aber sicherheitshalber schau doch einfach kurz in der DB nach was drinne ist, das Adminpasswort hast du ja ;-)

ja ich nehm im moment den text vom user verschlüssel ihn und INSERT die variable dann in meine DB und ja er steht verschlüsselt drin ;)
und beim auslesen hol ichs raus speichers in ner variablen wieder zwischen und entschlüssel den inhalt dann wieder und geb es aus.

´o_O`

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:13 Uhr

Zitat von Der666Diablo:

dann solltest du darauf achten,dass der code danach nicht mehr als ausführbar ausgegeben werden kann

sry ich versteh nicht ganz was du meinst, bzw. welchen cod meinst du?

´o_O`

Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 14.05.2009 um 11:15 Uhr

Zitat von solid-:

Zitat von Der666Diablo:

dann solltest du darauf achten,dass der code danach nicht mehr als ausführbar ausgegeben werden kann

sry ich versteh nicht ganz was du meinst, bzw. welchen cod meinst du?


den, den du von person xy unüberprüft in die db schreiben lässt.

Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:16 Uhr

Zitat von Nitek:

Also so wie ich dich verstanden habe suchst du eher sowas hier:
mysql_real_escape_string

;-)


Das sieht doch schon sehr vielversprechen aus =)
unterwünschte zeichen werden einfach ersetzt und bei der ausgabe (auf der page) wieder hergestellt =)

Danke dir =)

´o_O`

Nitek - 41
Champion (offline)

Dabei seit 01.2003
4129 Beiträge

Geschrieben am: 14.05.2009 um 11:19 Uhr

Zitat von solid-:

das sieht doch schon sehr vielversprechen aus =)
unterwünschte zeichen werden einfach ersetzt und bei der ausgabe (auf der page) wieder hergestellt =)


Das stimmt so nicht ganz. Es wird nur dafür gesorgt, dass alle Zeichen die MySQL beim Einfügen auf dumme Gedanken bringen könnten escaped werden ("\" davor) und somit einfach buchstabengenau eingefügt werden. Bei der Ausgabe wird da nichts ersetzt, weil es ja schon richtig in der Datenbank steht.
solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:20 Uhr

Zitat von Der666Diablo:

Zitat von solid-:

Zitat von Der666Diablo:

dann solltest du darauf achten,dass der code danach nicht mehr als ausführbar ausgegeben werden kann

sry ich versteh nicht ganz was du meinst, bzw. welchen cod meinst du?


den, den du von person xy unüberprüft in die db schreiben lässt.

ah ich verstehe...ich erklär ma wie es bei mir abläuft user gibt nachricht ein nachricht wird in varibale via post gespeichert inhalt der variablen wird verschlüsselt der verschlüsselungscode wird in die db geschrieben dann wird der text (da es eine art gb ist) wieder rausgeholt in eine variable gespeichert Inhalt entschlüsselt und die variable wird per echo ausgegeben wird den durch die echo funktion der code, falls es einer ist, alls ausführbar ausgegeben?


´o_O`

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:21 Uhr

Zitat von Nitek:

Zitat von solid-:

das sieht doch schon sehr vielversprechen aus =)
unterwünschte zeichen werden einfach ersetzt und bei der ausgabe (auf der page) wieder hergestellt =)


Das stimmt so nicht ganz. Es wird nur dafür gesorgt, dass alle Zeichen die MySQL beim Einfügen auf dumme Gedanken bringen könnten escaped werden ("\" davor) und somit einfach buchstabengenau eingefügt werden. Bei der Ausgabe wird da nichts ersetzt, weil es ja schon richtig in der Datenbank steht.

d.h. ich hab bei meiner ausgabe vor "dummen" Zeichen ein "\"?

´o_O`

Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 14.05.2009 um 11:23 Uhr

naja ich sags mal so, wenn ejtzt jmd einen iframe in deinen gb speichert (ausmaß:0) und der zwar verschlüsselt eingegeben und ausgegebn wird, dem besucherbrowser dann aber verleitet auf ne verseuchte webseite mit dem iframe zu gehen, dann kannst die seite ganz schnell vergessen, so n fehler dann nachträglich aus der db auszumerzen ist nicht gerade trivial...

Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

Der666Diablo
Champion (offline)

Dabei seit 04.2006
23736 Beiträge

Geschrieben am: 14.05.2009 um 11:23 Uhr

Zitat von solid-:

Zitat von Nitek:

Zitat von solid-:

das sieht doch schon sehr vielversprechen aus =)
unterwünschte zeichen werden einfach ersetzt und bei der ausgabe (auf der page) wieder hergestellt =)


Das stimmt so nicht ganz. Es wird nur dafür gesorgt, dass alle Zeichen die MySQL beim Einfügen auf dumme Gedanken bringen könnten escaped werden ("\" davor) und somit einfach buchstabengenau eingefügt werden. Bei der Ausgabe wird da nichts ersetzt, weil es ja schon richtig in der Datenbank steht.

d.h. ich hab bei meiner ausgabe vor "dummen" Zeichen ein "\"?


ne, vor der einspeisung in die db...


Bei Geld, Sex und Kunst gibt es keinen abnehmenden Grenznutzen. http://shortlinks.de/oee9

Nitek - 41
Champion (offline)

Dabei seit 01.2003
4129 Beiträge

Geschrieben am: 14.05.2009 um 11:24 Uhr
Zuletzt editiert am: 14.05.2009 um 11:28 Uhr

Zitat von solid-:

d.h. ich hab bei meiner ausgabe vor "dummen" Zeichen ein "\"?


Nein, das wirft MySQL für dich weg, aber du solltest dringend mal einen Blick in das Handbuch werfen und dich bezüglich escaping bilden.
solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:27 Uhr

Zitat von Der666Diablo:

naja ich sags mal so, wenn ejtzt jmd einen iframe in deinen gb speichert (ausmaß:0) und der zwar verschlüsselt eingegeben und ausgegebn wird, dem besucherbrowser dann aber verleitet auf ne verseuchte webseite mit dem iframe zu gehen, dann kannst die seite ganz schnell vergessen, so n fehler dann nachträglich aus der db auszumerzen ist nicht gerade trivial...

Stimmt...mal ein einfaches undkindisches beispiel wäre:

User gibt
"<font color='red'>haha ich habs rot</font>"

wird das zwar der datenbank nichts ausmachen aber der der browser gibt den text ja dann so wieder aus -> echo "<font color='red'>haha ich habs rot</font>" dadurch wäre meine schrift ja rot oder nicht??

´o_O`

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 14.05.2009 um 11:29 Uhr

Zitat von Nitek:

Zitat von solid-:

d.h. ich hab bei meiner ausgabe vor "dummen" Zeichen ein "\"?


Nein, das wirft MySQL für dich weg, aber du solltest dringend mal einen Blick in das Handbuch werfen und dich bezüglich escaping bilden.


na das werd ich machen hät ich gewusst das das doch ein größerer aufwand ist hät ichs gleich gemacht hab ja hier im geschäft eins vorliegen....sry hab gedacht ein oder zwei antworten werden mich schon aufklären...sry das ich eure zeit in anspruch genommen habe...werd dann mal das handbuch zur hand nehmen
trotzdem danke euch =)

´o_O`

  -1- -2- vorwärts >>>
 

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -