Toon posts:

Blijf ingelogd? ala tweakers dus..

Pagina: 1
Acties:

Verwijderd

Topicstarter
De optie kennen jullie allemaal wel, elke keer als je tweakers bezoekt ben je ingelogd als je deze optie aan hebt guhfinked.

hoe kan je dit het beste doen? met cookies of een optie in de database (datestamp) die vervolgens wordt uitgelezen door een php functie.

Misschien kunnen jullie vertellen hoe het bij tweakers werkt of hoe jullie het hebben opgelost.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Dit gebeurt via cookies. Dit is eigenlijk de enige goede manier om een bezoeker de volgende keer weer te herkennen.

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 03-02 15:29
Wat ik me afvraag, is dat in de cookie die hier wordt aangemaakt, alleen een of andere string staat. Hoe gaat GoT met deze string om, verwijst deze naar een database entry of sessie ofzo?

Ook Knor is aangestoken met het ligfietsvirus!


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 29-08 23:13

BierPul

2 koffie graag

In die cookie staan neem ik aan gewoon een aantal gegevens waaronder

user_id en wachtwoord (encrypted)

Deze worden bij aankomst (en dus elke refresh) gecontroleerd en de bijbehorende data opgezocht (zoals rechten, en de data zoals in de reply hieronder besproken etc)

Beetje basic stuff dit :)

Ja man


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Meestal komt er een random generate id in te staan. Dus bijvoorbeeld zoiets als
aab23jfjsan34123jkn23nkj2nk2j213
Nu wordt er op de server ook een bestand opgeslagen (sessies) die gekoppeld is met dit id (al dan niet via de bestandsnaam). In het serverside bestand staan vervolgens de gebruikersgegevens, laatste keer dat je er was, etc.
De reden waarom dit niet op de clientside wordt opgeslagen kan je zelf wel raden denk ik ;)

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

LOST_GUNT schreef op 09 oktober 2002 @ 13:01:
In die cookie staan neem ik aan gewoon een aantal gegevens waaronder

user_id en wachtwoord (encrypted)

Deze worden bij aankomst (en dus elke refresh) gecontroleerd en de bijbehorende data opgezocht (zoals rechten, en de data zoals in de reply hieronder besproken etc)

Beetje basic stuff dit :)
Blijkbaar niet basic genoeg ;) je moet nooit userId/Pass combo in je cookie zetten ;) ook niet encrypted

mijn T.net systeemspecspagina


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
RRX schreef op 09 oktober 2002 @ 13:31:
[...]


Blijkbaar niet basic genoeg ;) je moet nooit userId/Pass combo in je cookie zetten ;) ook niet encrypted
Ligt eraan of dat de enige gegeven zijn waar je naar kijkt. Als je nog meer dingen hebt waar je naar kijkt, kan dat best.

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 29-08 23:13

BierPul

2 koffie graag

Nielsz schreef op 09 oktober 2002 @ 13:58:
[...]

Ligt eraan of dat de enige gegeven zijn waar je naar kijkt. Als je nog meer dingen hebt waar je naar kijkt, kan dat best.
Dat vindt ik ook :) (ik sla ook username, laatste visit op )

Trouwens ik heb nog niemand een md5 hash zien ontcijferen :)

Ja man


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
LOST_GUNT schreef op 09 oktober 2002 @ 14:29:
[...]


Dat vindt ik ook :) (ik sla ook username, laatste visit op )

Trouwens ik heb nog niemand een md5 hash zien ontcijferen :)
Dat komt eraan, als ik genoeg HDspace heb :) :Y)

Ik sla userid & sessionID op.
In de sessies sla ik userid, pass & IP op. SessionID bestaat uit een combi van userid, pass & IP.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
LOST_GUNT schreef op 09 oktober 2002 @ 14:29:
Dat vindt ik ook :) (ik sla ook username, laatste visit op )

Trouwens ik heb nog niemand een md5 hash zien ontcijferen :)
Leer het nou eens mensen: een md5 digest is niet te ontcijferen. Het is een one way path!

Nu kun je natuurlijk zeggen, "tja maar als ik gewoon allee data probeer en kijk of de hash overeenkomt..." Heel leuk, maar denk je dat alle data in een x aantal bits opgeslagen kan worden? Nee, natuurlijk niet. Daarom zal sommige data gelijke hashes opleveren. Zie het ongeveer als een kwadraat van X. Je weet dan ook nooit wat X precies was.

Verwijderd

Je bedoelt waarschijnlijk kwadraat van X ?d
doet er niet echt toe, maar juist is juist:

X²=X*X -> X²=25 -> X kan 5 of -5 zijn

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 09 oktober 2002 @ 14:54:
Je bedoelt waarschijnlijk kwadraat van X ?d
doet er niet echt toe, maar juist is juist:

X²=X*X -> X²=25 -> X kan 5 of -5 zijn
:o :X
Gelijk ff verbeteren. :*

Verwijderd

>:) Kon het niet laten zo'n fout te verbetere :P

  • Ettepet
  • Registratie: Juli 2002
  • Laatst online: 11-05 12:26
Verwijderd schreef op 09 oktober 2002 @ 14:54:
Je bedoelt waarschijnlijk kwadraat van X ?d
doet er niet echt toe, maar juist is juist:

X²=X*X -> X²=25 -> X kan 5 of -5 zijn
Of, nog wat lastiger:

X*X, met X èn het resultaat "modulo integer-lengte". Dan wordt het nog een stuk onduidelijker welke oorspronkelijke "X" leidde tot het resultaat.
--

Een aantal goed gekozen bewerkingen achter elkaar maken het geheel nog wat beter bestand tegen wiskundig onderlegde "geïnteresseerden".

Verwijderd

Ettepet schreef op 09 oktober 2002 @ 15:05:
[...]

Of, nog wat lastiger:

X*X, met X èn het resultaat "modulo integer-lengte". Dan wordt het nog een stuk onduidelijker welke oorspronkelijke "X" leidde tot het resultaat.
--

Een aantal goed gekozen bewerkingen achter elkaar maken het geheel nog wat beter bestand tegen wiskundig onderlegde "geïnteresseerden".
8)7 Ok mate, don't push it

  • Ettepet
  • Registratie: Juli 2002
  • Laatst online: 11-05 12:26
Valt wel mee, ik bedoelde het volgende:

input: 64 bits getal X
output: (onderste) 64 bits van X*X

Dus je neemt gewoon het kwadraat van een integer, en "cast" het resultaat gewoon weer naar een integer. Isse simpel.. ;)

  • Vaudtje
  • Registratie: April 2002
  • Niet online
Maar als je dan en cookie faket, met username en hash die bij de username hoort, ben je dus al binnen? Dan heb je dus geen password, maar alleen een hash nodig?

In deeze zin staan drie fauten


Verwijderd

Waarom heb ik dan hier een md5 crack op m'n PC staan die via http en DOS werkt? :P En hij werkt precies. Alleen bij meer dan 2/3 karakters moet je wel 2/3 maanden wachten of zelfs nog langer :P (of je moet een één of andere brute force hebben staan)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 09 oktober 2002 @ 17:33:
Waarom heb ik dan hier een md5 crack op m'n PC staan die via http en DOS werkt? :P En hij werkt precies. Alleen bij meer dan 2/3 karakters moet je wel 2/3 maanden wachten of zelfs nog langer :P (of je moet een één of andere brute force hebben staan)
Heb je gelezen wat ik poste? En dan bedoel ik het onderste stukje.

Jouw 'kraakmethode' is als volgt. Je gaat dan gewoon simpelweg alle strings die je kunt bedenken met je PC hashen en controleren of dat gelijk is aan de gegeven hash. Als een string een hash geeft die matched, dan heb je kans dat die string de inputstring van de gegeven hash was. Echter omdat je wel meer strings kan maken dan 2^<aantalbits MD5> heb je kans dat jouw oplossing niet de juiste is.

Ik zie eigenlijk geen verschil met gewoon alle strings direct aan de applicatie voeren en kijken of het goed gaat, aangezien jouw programma ook over HTTP gaat. :)

Verwijderd

T'is geen programma, maar een script (php) en ik heb het niet geschreven :)

  • Mini-me
  • Registratie: November 1999
  • Niet online
Ettepet schreef op 09 oktober 2002 @ 15:05:
[...]

Of, nog wat lastiger:

X*X, met X èn het resultaat "modulo integer-lengte". Dan wordt het nog een stuk onduidelijker welke oorspronkelijke "X" leidde tot het resultaat.
--

Een aantal goed gekozen bewerkingen achter elkaar maken het geheel nog wat beter bestand tegen wiskundig onderlegde "geïnteresseerden".
Als je als integere een priemgetal neemt dan is het aantal mogelijkheden nog een aantal malen groter.
Maar ook deze manier van coderen is niet one-way: door maar vaak genoeg met het priemgetal te vermenigvuldigen kom je uiteindelijk weer bij het grondgetal X uit :)

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Glimi schreef op 09 oktober 2002 @ 14:50:
[...]

Leer het nou eens mensen: een md5 digest is niet te ontcijferen. Het is een one way path!

Nu kun je natuurlijk zeggen, "tja maar als ik gewoon allee data probeer en kijk of de hash overeenkomt..." Heel leuk, maar denk je dat alle data in een x aantal bits opgeslagen kan worden? Nee, natuurlijk niet. Daarom zal sommige data gelijke hashes opleveren. Zie het ongeveer als een kwadraat van X. Je weet dan ook nooit wat X precies was.
One way path of niet: als het is samengesteld uit username + pass, kan ik er lekker op los bruteforcen. Username is probleemloos te achterhalen. Helaas kiezen mensen wachtwoorden volgens bepaalde patronen, dus hoeft een bruteforce ook niet onhaalbaar te zijn.

Moraal: stop van alles in je MD5-hash, maar geen geheime info.
Ikzelf gebruik doorgaans een combinatie van userid + ipadres + een vooraf bepaalde string (iets als "uX2&4-x=") + een random getal.

Localhost, sweet localhost


Verwijderd

Topicstarter
Ik wilde het als volgt doen:

Ik heb nu

Je logt in met username en pass vervolgens kijkt login script naar md5($pass) en username combo als die ok is dan registreer ik een sessie variabele die 'logged' heet en eentje met de UID.

Bij elke pagina check ik of die sessie variabele geregistreerd is (aan de hand daarvan heb je dus toegang) maar met die sessie var kan je niet ingelogd blijven omdat die natuurlijk weg gaat als je de browser sluit.

Die UID Sessie variabele is belangrijk want ik sla ook de UID op die weer wordt gebruikt om bepaalde gegevens mee tevoorschijn te toveren dus die MOET blijven.

Als ik dus een cookie moet gebruiken had ik het volgende gedacht:

Gebruiker logged in dan neem ik een md5(sessieId), die zet ik in een cookie en eentje in de database. Het cookie geef ik een expire date van 4 weken ofzo. Ook eentje met de Username erin of de Userid

Als ik dus weg ga en weer op de pagina kom dan checked een functie de md5(sessieId) in de cookie met de gene in de database als ze overeen komen dan ben je nog steeds ingelogd.

Het probleem is nu dat ik die $_SESSION["UID"] niet meer heb...
Dit kan ik oplossen door in de login functie iets te zetten dat de userid bij username zoekt en die vervolgens te registreren maar dit zijn allemaal weer extra queries en ik weet niet of de boel daar langzamer van wordt of dat het veel makkelijker kan.
Pagina: 1