Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Sicherheit von Passwörtern / Widerekennen eines Users (https://boardunity.de/sicherheit-passw-rtern-widerekennen-users-t885.html)

DaddyCool 27.10.2003 18:11

Sicherheit von Passwörtern / Widerekennen eines Users
 
Da es im Thread "Gelesen-Funktion - wie funktioniert das?" ja auch um Cookies geht und erwähnt wurde das sich Daten in Cookies verändern lassen (wurde von mir persönlich erwähnt) :D

Stellt sich mir nun die Frage: Wie kann ich sicherstellen das nicht jemand die Cookies eines anderen Users entführt.

Es tratten ja schon Probleme mit dem WBB1 und dem ominösen [img] tag auf wo man statt eines Bildes ein Javascript übergeben konnte (was auch beim Posticon ging).

Mit diesem konnte man z.B. die Cookies auslesen.

Nun, man könnte natürlich versuchen die Möglichkeiten zur Übergabe eines Javascript so klein wie möglich zu halten.

Jedoch erhöht sich mit der Anzahl der Eingabefelder eines Users auch die Wahrscheinlichkeit das ein Feld nur schlecht überprüft wird und so ist möglicherweise ein Sicherheitsloch vorhanden was man vielleicht sogar direkt an der Quelle stopfen könnte.

Deswegen meine Frage: Wie könnte man die User Erkennungs Funktion verändern das genau dieses Loch nicht auftritt??

Die meisten Systeme speichern ja UserID/Username und Passwort in den Cookies. Diese könnte man nun entführen und in die eigenen cookies schreiben. Aber wie lässt sich dies verhindern??

Xenon 27.10.2003 18:44

mit festen IP's.

ansonsten is sicherheitslückenstopfen immer noch das beste.

ein andrer weg fällt mir grade nicht ein, ausser halt keine cookies verwenden ;)

DaddyCool 27.10.2003 18:50

Zitat:

Original geschrieben von Xenon
mit festen IP's.
Leider nicht anwendbar

Zitat:

ansonsten is sicherheitslückenstopfen immer noch das beste.
Aktuell scheint es wohl so, wobei man ja noch auf etwas anderes prüfen könnte. Browser oder so (kann man ja in der User Tabelle speichern und dann vergleichen). Nur ob dies das wahre ist. Könnte nach einem Browser Update in die Hose gehen.

Zitat:

ein andrer weg fällt mir grade nicht ein, ausser halt keine cookies verwenden ;)
Was die Funktion unmöglich macht ;)

DaddyCool 27.10.2003 18:58

Zitat:

Original geschrieben von ciruZ
Ich brauch in meiner Forensoft nur ein<htl></htl> drum schreiben und schon ist das Feld gesichert :)
(also beim Output)

Und wie machst du das beim Cookie??

MrNase 27.10.2003 20:41

Kannst du dir solche Beiträge nicht sparen? Es interessiert wirklich keinen, WAS du machst. WIE du es machst wäre eigentlich interessanter :)

DaddyCool 27.10.2003 21:01

Zitat:

Original geschrieben von ciruZ
Lies bitte korrekt. Es beinhaltet auch wie. Wenn du nichts mit anfangen kannst, sag einfach nichts, ok? :)
Es beinhaltet nicht wirklich wie du es machst, da hat MrNase schon recht. Du beschreibst wie du es anwendest, aber nicht wie du es letzendlich machst.

Er meint eher sowas wie: Ich ersetze alle < und > in ihr HTML pendant damit sie nicht als HTML Tags vom browser verstanden werden.

Das bringt alles weit mehr als wenn du schreibst ich setze <schiessmichtot></schissmichtot> und sowas will ich gar nicht wissen. Denn was hab ich davon wenn ich davon wenn ich weiß wie ich mit deinen Templates irgendetwas "sichern" kann, wenn ich es nicht wirklich nachvollziehen kann.

Akira 27.10.2003 21:43

nur zur information
 
htmlentities() ist fast das selbe wie htmlspecialchars()

http://at2.php.net/manual/de/function.htmlentities.php


nur so am rande ;)

Nev 28.10.2003 00:15

Hi @ll

Eure technik ist ja recht nett, aber wie DaddyCool im ersten Beitrag schon geschrieben hat, würde es bei einem PostIcon trotzdem gehn.

Ihr übersetzt zwar jegliche Variablen, aber ihr vergesst, das die Ausgabe schon in einem HTML-Tag (IMG) erfolgt.
da könnt ihr vorher ersetzten was ihr wollt *fg*

Sicherheit des Cookies:
Das man Passwörter verschlüsselt dorthinein schreibt ist irgendwie logisch.
Daten die Rechte definieren, sollte man auch ned umbediengt hinein schreiben.

Es gibt 2 Mögliche Daten die drin stehn könnten:
1) UserID + verschlüsseltes Pass
2) UserHash

zu 2 wäre zusagen, dieser wird in der Öffentlichkeit (für den User sichtbar) nicht verwendet, also nur fürs Cookie.

wenn man sich für die 1 Variante entscheidet, kann man dieses Array in einen String umwandeln und diesen Verschlüsseln.

Wenn man zusätzlich ein Session-Cookie verwendet, wird das manipulieren, bzw. entwenden schon recht schwer.


Wiedererkennung ist so eine Sache.
Kann aber mit den oben angeführten Techniken bewerkstelligt werden.

Nev 28.10.2003 00:30

@ciruZ

Ich muss mich meinen Vorrednern anschliessen, das hast du nicht erwähnt, wie du es machst.

Zitat:

Schwachsinn. posticon = int(11)
Wenn du das wbb 1.x kennst, dort war das ein String und kein INT
das war auch der Fehler den DaddyCool beschrieben hatte.

Nev 28.10.2003 00:38

;-)

Für einen selbst ist alles klar
aber andere sollte man es erklären können, so profitieren alle davon.

Wegen dem String, JA das ist WBB

Matix 28.10.2003 12:00

statt cookies usersessions

andelal 28.10.2003 13:25

Zitat:

Original geschrieben von ciruZ
Wie willst du denn z.B. automatisches einloggen machen? ;)
Hab ich mich auch gerade gefragt.
Genügt da z.B. ein Cookie mit der UserID und dem verschlüsselten Passwort, das auf jeder Seite mit den gespeicherten Werten in der Datenbank verglichen wird? Wie sollte man das Passwort dann verschlüsseln?

Matix 28.10.2003 13:27

Zitat:

Original geschrieben von ciruZ
Wie willst du denn z.B. automatisches einloggen machen? ;)
ich würde, wenn mir sicherheit wichtig ist, daten nie über eine sitzung hinaus speichern... ;p

dann ist halt nichts mit automatischen einloggen wenn er die seite erneut besucht... solange er sich in ihr bewegt kann er aber alles machen

Matix 28.10.2003 13:45

ich denk mal an cookie daten komm ich leichter... aber bin jetzt auch net so der sicherheitscrack...

aber wenn ihr zusammenlegt und mir die entsprechenden schulungen zahlt lass ich mich breitschlagen und geb euch danach die antworten :D

Matix 28.10.2003 13:57

die session id als teil der url? ;)

Matix 28.10.2003 14:27

und ich sagte das ich eben kein automatische login will, wenn du damit jetzt meinst: ich surf aufm board... surf weg.. komm wieder... ;)

DaddyCool 28.10.2003 14:52

Zitat:

Original geschrieben von Matix
und ich sagte das ich eben kein automatische login will, wenn du damit jetzt meinst: ich surf aufm board... surf weg.. komm wieder... ;)
Und jedesmal wenn du wieder kommst willst du dich neu einloggen??

Matix 28.10.2003 15:31

jo... wie gesagt solange du dich auf dem board bewegst, in threads etc hast du ja kein problem... surfst du von dem board weg, ist halt die session auch weg.. ergo neu anmelden...

mag zwar nicht ganz so kompfortabel sein, aber eben evtl. sicherer... der komfport, nicht für jeden thread etc neu einloggen zu müssen bleibt aber erhalten...

ich pers. find es oft sogar ätzend das ich zwei tage später noch eingeloggt bin, nur wiel ich mich im vb net per abmelden verabschiedet habe ;)

Nev 28.10.2003 16:10

Hi @ll

Mir ist es generell auch egal, aber man wird faul mit der Zeit.

Man muss einen Weg finden, der den User eindeutig erkennt.
da mir nichts anderes als Cookie bekannt ist, würde ich für ein Auto-Login ein solches verwenden.

um den User zu erkennen, benötigt man wie gesagt die UserID und Pass


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.

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